Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 线程池多客户端TCP(消息处理)_C#_Multithreading_Tcp_Client_Threadpool - Fatal编程技术网

C# 线程池多客户端TCP(消息处理)

C# 线程池多客户端TCP(消息处理),c#,multithreading,tcp,client,threadpool,C#,Multithreading,Tcp,Client,Threadpool,我刚刚了解到,可以使用线程池进行多客户端TCP连接,我现在有一个C#应用程序,我想实现它。我读了一些,比如这个问题的第一个答案(),但我真的不知道如何根据我的“需要”做出最后的调整。我为每个连接提供了一个MessageHandling功能(每个连接有两个线程,一个用于接收/发送消息(连接打开的时间通常很长),另一个用于根据消息执行任务(还创建要发回的答案)。我现在想在下面的链接中使用Receiving方法,但是在我的示例中,如何使用线程池来实现这一点 如果有什么不清楚的地方,就问问题吧 /Nic

我刚刚了解到,可以使用线程池进行多客户端TCP连接,我现在有一个C#应用程序,我想实现它。我读了一些,比如这个问题的第一个答案(),但我真的不知道如何根据我的“需要”做出最后的调整。我为每个连接提供了一个MessageHandling功能(每个连接有两个线程,一个用于接收/发送消息(连接打开的时间通常很长),另一个用于根据消息执行任务(还创建要发回的答案)。我现在想在下面的链接中使用Receiving方法,但是在我的示例中,如何使用线程池来实现这一点

如果有什么不清楚的地方,就问问题吧


/Nick

只需避免每个连接有一个线程。这会在操作系统上产生大量开销,而且扩展性不好

今天我们使用NIO:非阻塞I/O。一个线程可以处理10k+连接。有非常简单的方法可以使用它们,例如NodeJs。NIO库可用于大多数平台/语言(Netty for Java,NodeJs with javascript,…)


您应该指定所使用的语言/环境。

只需避免每个连接有一个线程。这会在操作系统上产生大量开销,而且扩展性不好

今天我们使用NIO:非阻塞I/O。一个线程可以处理10k+连接。有非常简单的方法可以使用它们,例如NodeJs。NIO库可用于大多数平台/语言(Netty for Java,NodeJs with javascript,…)


你应该指定你正在使用的语言/环境。

只需搜索它!我是通过一个流行的搜索引擎找到的。还可以搜索关于10k问题的文章只需搜索它!我是通过一个流行的搜索引擎找到的。还可以搜索关于10k问题的文章谢谢!但我认为这并不能处理我的示例。如何处理我是否根据消息执行任务的特定部分(还创建要发回的答案)。例如,我希望在收到特定消息时发送答案(新消息)对于另一个客户端,我如何跟踪套接字/客户端?例如:客户端1说:将此消息发送给客户端2,我如何知道套接字是什么客户端?我发布它是为了不按原样使用。它显示了如何使用异步操作。谢谢!但我真的认为这无法处理我的示例。我如何根据需要执行任务的特定部分在消息上(还创建要发回的答案)。例如,我希望在收到特定消息时发送答案(新消息)对于另一个客户机,我如何跟踪套接字/客户机?例如:客户机1说:将此消息发送给客户机2,我如何知道套接字是什么客户机?我发布了它以不按原样使用。它显示了如何使用异步操作。