WebSocket怎么获取客户端的IP
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"WebSocket怎么获取客户端的IP",在日常操作中,相信很多人在WebSocket怎么获取客户端的IP问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2026年11月03日WebSocket怎么获取客户端的IP
这篇文章主要介绍"WebSocket怎么获取客户端的IP",在日常操作中,相信很多人在WebSocket怎么获取客户端的IP问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"WebSocket怎么获取客户端的IP"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
今天用到websocket,希望服务器端在连接建立时获取到客户端的IP,看了源码没有找到提供的api,后来一顿百度,在stackoverflow 找到了解决方案,经过测试可以使用,总结了一下, 下边是代码:
import java.lang.reflect.Field;import java.net.InetSocketAddress;import javax.websocket.RemoteEndpoint.Async;import javax.websocket.Session; public class WebsocketUtil { public static InetSocketAddress getRemoteAddress(Session session) { if (session == null) { return null; } Async async = session.getAsyncRemote(); //在Tomcat 8.0.x版本有效// InetSocketAddress addr = (InetSocketAddress) getFieldInstance(async,"base#sos#socketWrapper#socket#sc#remoteAddress"); //在Tomcat 8.5以上版本有效 InetSocketAddress addr = (InetSocketAddress) getFieldInstance(async,"base#socketWrapper#socket#sc#remoteAddress"); return addr; } private static Object getFieldInstance(Object obj, String fieldPath) { String fields[] = fieldPath.split("#"); for (String field : fields) { obj = getField(obj, obj.getClass(), field); if (obj == null) { return null; } } return obj; } private static Object getField(Object obj, Class> clazz, String fieldName) { for (; clazz != Object.class; clazz = clazz.getSuperclass()) { try { Field field; field = clazz.getDeclaredField(fieldName); field.setAccessible(true); return field.get(obj); } catch (Exception e) { } } return null; } }调用测试:
/** * 连接建立成功调用的方法*/ @OnOpen public void onOpen(Session session) { InetSocketAddress remoteAddress = WebsocketUtil.getRemoteAddress(session); System.out.println("有新连接加入!" + remoteAddress); }输出结果:
到此,关于"WebSocket怎么获取客户端的IP"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
客户
端的
学习
有效
方法
更多
版本
帮助
测试
实用
成功
接下来
代码
文章
方案
服务器
源码
理论
知识
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
广东万易互联网科技有限公司惠州分公司
互联网科技工作委员会主任
西安纸贵互联网科技有限公司
高科技互联网
互联网科技开发公司
互联网科技排名
互联网科技上市公司
广州紫鲸互联网科技
长亮科技互联网金融
互联网科技美容
互联网公司会议桌创意科技软装饰
互联网科技公司需要的职位
哈尔滨新华互联网科技学院
团飞科技与伯堂互联网服务平台
来此购互联网科技有限公司
高科技互联网发展前景如何
互联网科技如何创业
万物互联网智能科技
科技发展第三阶段互联网时代
中国互联网科技发展
互联网科技大会
汉立互联网科技有限公司联系电话
河南猎农互联网科技有限公司
移动互联网科技公司
银川新华互联网科技学校联系电话
美国互联网科技实力
广东工业互联网大赛深圳学泰科技
信承诺互联网科技有限公司
上海同邻互联网科技有限公司规模