在基于AsynchronousServerSocketChannel和AsynchronousSocketChannel的服务器中,如何检查来自给定IP地址的连接是否已经存在?我想发送一个特定的消息给来自已经连接的IP地址的连接(要求它稍后再试;我正在处理非常特定的客户端局域网,如果共享而不是被迫由服务器序列化)。但是,我无法获得IP地址列表来搜索相同的IP地址是否已经有连接。除了将每个新连接的IP地址插入(并在关闭时删除它们)像ConcurrentSkipListSet之类的东西之外,是否还有更优雅/更有效的方法?此外,我想定期从所有打开的连接中收集一些网络统计信息(例如上传了多少个文件块)。我想出的有效方法是使用ConcurrentLinkedQueue将完成处理程序(块发送网络写入)的更新发送到信息收集线程,在任何时候将某个事件插入到队列中时唤醒线程。我假设唤醒操作是非阻塞的,但我不知道它可能有多昂贵,因为我确信至少它涉及到一个互锁的CPU指令(这意味着一个内存围栏并会进一步影响执行速度等等。)。还有其他建议吗?获取NIO.2服务器中客户端IP地址列表
0
A
回答
0
您将不得不维护自己的数据结构。所有的TCP将给你的是插座,你可以从中获得他们的远程地址和端口。
相关问题
- 1. CSocket服务器获取客户端IP地址
- 2. 从服务器获取客户端的IP地址
- 3. 从服务器获取客户端的IP地址
- 4. 客户端请求服务器使用服务器IP地址
- 5. 获取SOAP服务客户端的IP地址
- 6. 从Windows Azure服务获取客户端IP地址
- 7. 如何获取客户端IP地址
- 8. 如何获取客户端IP地址
- 9. 如何获取客户端的本地IP地址和代理服务器
- 10. 如何使用Java在GWAN服务器中获取客户端IP地址?
- 11. 如何获取身份服务器中客户端的远程IP地址4
- 12. 如何在Struts2/Servlet中从Apache Web服务器获取客户端IP地址?
- 13. 客户端(android) - 服务器(java)通信 - 本地ip地址
- 14. 从服务器端获取已知MAC地址的IP地址
- 15. 使用NIO的套接字中客户端的IP地址
- 16. Web服务器来获取客户端的机器mac地址
- 17. 获取Web服务客户端IP
- 18. Java nio服务器客户端异步
- 19. 改进我从客户端获取服务器IP地址的方式
- 20. 如何从服务器获取我的Corba客户端的IP地址
- 21. 在服务器端获取本地IP地址的非服务器端方法?
- 22. 如何在Grails控制器中获取客户端IP地址?
- 23. 开箱_WTS_CLIENT_ADDRESS.Address在vb.net(从终端服务客户端获取IP地址)
- 24. 始终从Servlet获取客户端IP地址:: 1的地址
- 25. 如何确定客户端连接的服务器IP地址
- 26. 客户端如何发现服务器的IP地址?
- 27. 服务器如何存储客户端的IP地址?
- 28. 服务器如何找到真实的客户端IP地址?
- 29. 确定服务器上连接的客户端的IP地址
- 30. 设置可以检测客户端IP地址的服务器