在基於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地址的服務器