同时在网络流上进行多重发送和多重接收

时间:2018-04-14 13:37:26

标签: c# multithreading sockets networkstream

我正在处理一个发送和接收消息并上传文件的应用程序(Server_Client)......

上传文件:将分开的文件发送到服务器。

主要问题:当客户端在上传文件时发送消息时,服务器将在文件完成后读取消息。

如何在上传文件时发送消息,即使我使用了线程,问题仍然存在。

我有什么遗失的东西以及如何实现这样的事情吗?

1 个答案:

答案 0 :(得分:0)

简单的多线程解决方案经常出现问题。

  1. 保留工作线程池,以便为传入的请求提供服务;
  2. 使用一个专用的侦听器线程,侦听传入的请求;
  3. 收到请求后,获取工作线程并通过处理数据的上传对其进行任务处理;
  4. 专用的侦听器线程将在同一个套接字上返回
  5. 这样,下一条消息将立即被收听,而不是在上一次请求上传文件的末尾。