169得票7回答
一个Web服务器可以处理多少个套接字连接?

如果我考虑选择共享、虚拟或独立主机,我从某处了解到一台服务器/计算机在同一时间只能处理64,000个TCP连接,这是真的吗?不考虑带宽,任何类型的主机可以承载多少连接?我假设HTTP是基于TCP协议的。 这是否意味着只有64,000个用户可以连接到网站,如果我想提供更多连接,就必须转移到We...

73得票9回答
正确的停止TcpListener的方法

我目前正在使用TcpListener来处理传入的连接,每个连接都会分配一个线程来处理通信,然后关闭该连接。代码如下:TcpListener listener = new TcpListener(IPAddress.Any, Port); System.Console.WriteLine("Se...

51得票4回答
每个套接字地址(协议/网络地址/端口)通常只允许使用一次?

我一直在谷歌上寻找严肃的解决方案,但我只得到“注册表解决方案”之类的东西,我不认为它们与我的问题有关。由于某种原因,我只启动一次TcpListner,但如果出现错误,我就停止服务器。这是我的代码:class Program { private static string...

47得票5回答
TCP监听器和Socket的区别

据我所知,我可以使用TCPListener和Socket创建服务器,那么它们两者之间有什么区别? Socketprivate Socket MainSock; MainSock = new Socket(AddressFamily.InterNetwork, SocketType.Strea...

44得票4回答
如何修复错误“通常只允许每个套接字地址(协议/网络地址/端口)使用一次”?

我在谷歌上搜索了很多,但没能解决我的问题。我是网络编程新手,正在尝试学习。我试图建立一个简单的服务器和客户端进行通信(遵循此处的在线教程 -> http://tech.pro/tutorial/704/csharp-tutorial-simple-threaded-tcp-server)。 ...

35得票3回答
如何设置TcpListener始终监听并接受多个连接?

这是我的服务器应用程序:public static void Main() { try { IPAddress ipAddress = IPAddress.Parse("127.0.0.1"); Console.WriteL...

29得票5回答
如何让TcpListener接受多个连接并单独处理每个连接?

我有一个SMTP监听器,它工作得很好,但只能接收一个连接。以下是我的C#代码,我正在将其作为服务运行。我的目标是让它在服务器上运行并解析发送到它的多个smtp消息。 目前它只解析第一条消息,然后停止工作。如何让它接受第二个、第三个、第四个等SMTP消息,并像处理第一个消息一样处理它们? 这...

22得票5回答
什么是ThreadPool服务器的async/await等价物?

我正在使用同步API和线程池开发类似以下代码的TCP服务器:TcpListener listener; void Serve(){ while(true){ var client = listener.AcceptTcpClient(); ThreadPool.QueueU...

21得票2回答
如何在TCP套接字编程中让内核选择1024到5000之间的端口号

当我运行以下代码时: struct sockaddr_in sin; int addrlen; addrlen=sizeof(sin); memset(&sin, 0, sizeof(sin)); sin.sin_family = AF_INET; sin.s...

21得票2回答
使用async/await的异步TcpListener的正确方法

我一直在思考如何使用异步编程的方式正确地设置TCP服务器。 通常情况下,我会为每个传入请求派生一个线程,但我希望尽可能地利用线程池,这样当连接处于空闲状态时,就没有受阻的线程。 首先,我将创建监听器并开始接受客户端连接,在这种情况下,是在控制台应用程序中:static void Main(...