+
 新版

java socket 一对多通信,怎么给指定的设备发送信息

空指针 发布于 2016/06/29 09:51
阅读 2K+
收藏 0
java socket 一对多通信,怎么给指定的设备发送信息?  采用多线程进行链接。
ss = new ServerSocket(port);
while (true) {
    socket = ss.accept(); 
    new ThreadedServer(socket); 
}

但是服务端要给指定IP的设备(一个或多个)发送信息,怎么实现?



加载中
1
pseudo
pseudo
服务端是被动的,只有与client建立起了连接才能发送数据
1
12叔
12叔
客户端连接 服务器后 服务器 保存这个连接  然后要发的时候选择对应的连接就行了
1
HeartArea
HeartArea

socket.getRemoteSocketAddress() 应该能够获取客户端ip,socket建立之后可以存放到全局的唯一的ConcurrentHashMap中,可以拿clinet ip作为键,这样发送的时候就可以选择。

另外推荐用nio 框架netty。

空指针
空指针
mina 框架 和 netty 哪个更优?
0
跳跃的灵活
跳跃的灵活
ClientSocket 链接一下
0
空指针
空指针

引用来自“12叔”的评论

客户端连接 服务器后 服务器 保存这个连接  然后要发的时候选择对应的连接就行了
如果直间有断开,重新连接呢 ?
12叔
12叔
重新连接跟 新的连接是一样的啊 没有连接上肯定发送不了
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部