小编SAM*_*SAM的帖子

C#中的多线程TCP Listner(服务器)

简介: 我开发了一个用C#开发的服务器(TCP侦听器)程序,它在特定(常量)端口的特定(常量)IP上运行.该服务器程序接收客户端程序发送的数据包,对其进行处理并将数据包发送回同一个套接字.虽然此服务器的客户端程序数量可能为数百个:

代码示例

while(true)
{
    socket = Host.AcceptSocket();
    int len = socket.Receive(msgA);

    performActivities(msgA); // May take up-to 5 seconds

    socket.Send(msgB);
    socket.Close();
}
Run Code Online (Sandbox Code Playgroud)

问题: 由于一些关键的业务需求,处理可能需要5秒钟,因此在此期间的其他请求排队,我需要避免,以便每个请求必须在不超过5秒的时间内受理.

查询: 我可以让它多线程但是(请原谅我,如果你找到我新手):

  • 如果一个套接字仍由前一个线程打开,它将如何接收来自不同客户端的另一个数据包?

  • 在娱乐多个请求的情况下,如何确保将响应发送回各个客户端?

  • c# tcplistener

    -4
    推荐指数
    1
    解决办法
    2111
    查看次数

    标签 统计

    c# ×1

    tcplistener ×1