java socket 一对多通信,怎么给指定的设备发送信息
java socket 一对多通信,怎么给指定的设备发送信息? 采用多线程进行链接。
ss = new ServerSocket(port); while (true) { socket = ss.accept(); new ThreadedServer(socket); }
但是服务端要给指定IP的设备(一个或多个)发送信息,怎么实现?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
如果想从服务器端推送消息到客户端的话,个人觉得GoEasy推送还不错,它有Restful API 支持多语言,而且针对java他们还特别做了SDK,使用很简单方便。同时它也支持客户端推送。由于它支持websocket 和polling两种连接方式所以兼顾大多数主流浏览器,低版本的IE浏览器也是支持的,很适合需要快速建立实时web通信的项目。https://goeasy.io相关博客:http://www.cnblogs.com/jishaochengduo/articles/5552645.html
重新连接跟 新的连接是一样的啊 没有连接上肯定发送不了
引用来自“12叔”的评论
客户端连接 服务器后 服务器 保存这个连接 然后要发的时候选择对应的连接就行了
ClientSocket 链接一下
mina 框架 和 netty 哪个更优?
回复
作者是同一个 多少 netty是后来设计的 你说哪个好
回复
目前推荐的应该是netty吧
socket.getRemoteSocketAddress() 应该能够获取客户端ip,socket建立之后可以存放到全局的唯一的ConcurrentHashMap中,可以拿clinet ip作为键,这样发送的时候就可以选择。
另外推荐用nio 框架netty。
客户端连接 服务器后 服务器 保存这个连接 然后要发的时候选择对应的连接就行了
服务端是被动的,只有与client建立起了连接才能发送数据