网络编程中的单端口与双端口

时间:2010-12-20 14:29:34

标签: sockets network-programming

问题在于网络编程,更准确地说是服务器。假设有一个处理大量连接的服务器,因此有一个监听套接字。显然存在这样一个套接字的单个实例,这很清楚。现在我已经看到设计使用(a)每个连接一个套接字,包括传入和传出数据,以及(b)两个套接字,一个用于传入数据,一个用于传出数据。是什么让一个或另一个设计更受欢迎?这两种设计有哪些可能的原因/用例? 我所指的程序实际上是即时通讯工具(其中两个),但这理论上适用于任何多连接服务器(任何服务器,然后。)

希望这个问题不是太通用,我现在对网络编程了解不多,所以问这个。快速谷歌搜索也没有帮助。

1 个答案:

答案 0 :(得分:1)

TCP和UDP套接字是全双工的。没有任何理由使用单独的套接字来输入和输出到同一客户端。只是浪费了两倍的内核资源。