关于socket多线程通信问题 当客户端1发消息发给了服务器端以后,服务器端怎么找到目的客户端2,并把消息转发给他呢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的服务器端需要一个数据集MAP之类来记录客户端名称和IP地址,,当你收到客户端1的消息,把他转发给客户端2,只要到数据集中找到对应的客户端2的IP发过去就行了。 你可以在客户端与服务器建立连接的时候 建一个类管理这些连接 像是存储用户号和与之对应的Socket 然后当服务器发发送的时候 根据用户号找到相应的链接 就可以发送了 那应该如何发送呢,你的意思是客户端a 直接发送给客户端b 吧是使用什么标示客户端呢端口号与IP? 客户端和服务端建立SOCKET链接的时候,就分配给这个客户端一个唯一值,然后把这个值和SOCKET塞入MAP表。下一次需要找这个客户端,通过这个唯一值就可以查询到这个SOCKET对象,就可以向这个客户端发送消息了 =================================可以这样理解,获取权限,即服务器验证正确,授于客户端2的IP地址给客户端a即可。 客户端在与服务端连接后服务端Socket就已经记录客户端的IP信息,这个已经被封装好了的 那么这个map表是存在客户端的还是服务器端的 那个唯一的值又是什么值啊,就是 是什么名称 服务端要对连接的客户端有管理啊相当于一个客户端的key对应一个客户端 那应该就是在服务器处存储了 所有连接服务器的 客户端的IP地址呗 那 一般情况下 另这个权限是什么呢 ,而且这个验证应该是开始的时候验证是吧 等客户端之间聊天了之后就不需要验证了吧,然后客户端之间就直接发送信息了,不需要再通过服务器了。可是如果 我是在一台机器上模拟 那IP地址不就是一个吗 那又应该如何区分呢? 请引用一下我的话再回答,谢谢啦 map表肯定是存在于服务端的,用来保存对应连接用户的SOCKET对象唯一值就是自己分配一个可以标示这个SOCKET对象的ID值,这个ID作为键,SOCKET对象作为值存储到MAP表里 如何拿到调用某方法的对象的引用 java正则表达式 反斜杠问题 将作为锁的对象释放掉后,以它为锁的线程会如何?释放线程对象的话又如何? AWT组件的相关问题 jasperreports 在程序里面能输出到打印机,在tomcat里面不能,为什么? 关于多级继承的问题 开学想去报个班 请大家帮我看看 我记录下来了! 请问谁有用JB开发APPLET的资料? 哥们惨了 快救我 哪里能载到vj++? Java 如何实现TCP打洞 希望大家给点实际的建议 求相关java范例源代码。
=================================
可以这样理解,获取权限,即服务器验证正确,授于客户端2的IP地址给客户端a即可。
相当于一个客户端的key对应一个客户端
map表肯定是存在于服务端的,用来保存对应连接用户的SOCKET对象
唯一值就是自己分配一个可以标示这个SOCKET对象的ID值,这个ID作为键,SOCKET对象作为值存储到MAP表里