gpt4 book ai didi

c# - 一台服务器可以处理多少个不同端口上的tcp连接?

转载 作者:行者123 更新时间:2023-12-03 11:58:11 25 4
gpt4 key购买 nike

我正在用C#设计服务器客户端应用程序。
客户端与服务器tcp套接字进行连接并进行通信。

在服务器端,我正在使用socket.accept()方法来处理来自客户端的新连接。当客户端连接时,服务器使用随机端口以与客户端进行通信。

所以我的问题是..服务器可以以这种形式接收多少个客户端?
我应该使用另一种形式来处理很多客户吗?

最佳答案

in the server side i am using the socket.accept() method in order to handle new connection from client. when client is connecting, the server use a random port in order to communicate with the client.



除非您打开从服务器到客户端的另一个无意义的连接,否则您不会这样做是出于防火墙的原因。接受的套接字使用与监听套接字相同的本地端口号。与此处的几个答案和评论相反。

因此,您的问题是基于一个误解。无论用尽什么,它可能是内存,线程句柄,套接字句柄,套接字缓冲区空间,CPU,CPU能力,虚拟内存,磁盘空间等,它都不是TCP端口。

编辑新随机端口理论的拥护者需要解释以下 netstat输出:
TCP    127.0.0.4:8009         0.0.0.0:0              LISTENING
TCP 127.0.0.4:8009 127.0.0.1:53777 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53793 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53794 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53795 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53796 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53798 ESTABLISHED
TCP 127.0.0.4:8009 127.0.0.1:53935 ESTABLISHED

并显示在 RFC 793中关于将新端口分配给接受的套接字的任何内容,以及在TCP连接握手交换中将新端口号传送到何处的内容。

关于c# - 一台服务器可以处理多少个不同端口上的tcp连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22934856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com