如果一台机器正在运行,某些端口上侦听的服务器应用程序(比如9999),并在同一台机器几个客户端应用程序打开一个TcpClient的(本地主机,9999)连接到同一台服务器应用程序,会发生什么? 这会造成某种碰撞吗?在同一台机器上的多个TcpClients作为服务器
0
A
回答
0
在C#中TcpListener
正在等待来自AcceptSocket
或AcceptTcpClient
的客户端的传入连接。在成功的连接上,您可以获得一个Socket
对象,该对象可用于与由客户端IP标识的特定客户端通信。如果与客户端的连接在另一个线程中处理,而不是AcceptSocket
,则您的服务器应用程序可以同时与多个客户端通信。例如服务器循环仅调用Accept
,并直接将Socket
移交给某个处理程序线程/任务。一般而言,对于传入连接,您知道客户端IP地址(和端口),并基于此连接可以将连接/数据复用到相应的套接字。 一个好的和完整的答案,但非C#特定是在这里 TCP : two different sockets sharing a port?
在客户端选择一个随机端口为传出连接。这由套接字/网络系统完成
在互联网范例中,端口号介于0和65535之间,并且由客户端主机上运行的传输层软件随机选择。这些被称为临时端口(范围从1024到49151)。
相关问题
- 1. 如何在同一台机器上调试多个Sharepoint服务?
- 2. 在同一台机器上运行两个Jetty服务器
- 3. 同一台服务器上的多个tomcat ... ajp停止工作
- 4. 同一台机器上的Git客户机和服务器
- 5. 运行不同的服务器作为一台服务器
- 6. TopShelf在同一台机器上安装多个相同的服务
- 7. 思考把一个SVN服务器和CI服务器在同一台机器
- 8. 一台机器上有多个websocket服务器
- 9. 多个站点,同一台服务器
- 10. 在同一台机器上使用IIS服务器和wamp服务器
- 11. 在多台服务器上同步cronjob
- 12. Jenkins和OS X服务器在同一台机器上
- 13. Virtuemart移动和台式机在同一台服务器上
- 14. 在同一台服务器上配置多个位置的nginx
- 15. ArangoDB在同一台服务器上的多个实例
- 16. 配置服务器同时在多台客户机上执行服务器上的Matlab,SPSS等服务器
- 17. WCF服务无法在同一台机器上调用另一个WCF服务
- 18. Codeigniter在一台服务器上工作,但不在另一台服务器上
- 19. PHP在一台服务器上工作,但不在另一台服务器上
- 20. 在一台Ubuntu服务器上运行多个elasticsearch节点作为服务
- 21. 在同一台服务器
- 22. 在同一台服务器上提供多个mercurial存储库
- 23. 多个RabbitMQ实例在同一台服务器和epmd上
- 24. Redis服务器在同一主机上的多个集群
- 25. 多台celerycam在同一台服务器上运行
- 26. 同一服务器上的多个名称服务器
- 27. 跨多个WCF服务共享会话托管在同一台机器上
- 28. 可能在同一台机器上有多个SAME WCF窗口服务
- 29. QuerySelectField在一台服务器上工作,在另一台服务器上打破,使用相同的代码
- 30. 在一台机器上管理多个独立的Tomcat服务器
的可能的复制[两个应用程序可以收听到相同的端口?](http://stackoverflow.com/questions/1694144/can-two-applications-listen-to-the-same -port) – Cjen1
@Micky,我简直不明白这是如何工作的,包怎么不混合? – LimS