使用c#的异步单服务器多个客户端

时间:2016-09-19 10:52:29

标签: c# multithreading server client-server

我是网络和c#的新手。我正在尝试开发一个异步单服务器,多个异步客户端可以连接到该服务器,并可以在每个客户端之间发送和接收消息。问题出现在我的服务器上,只能连接到一个客户端。我正在使用线程连接到多个客户端,但它无法正常工作。

我正在使用.NET 4.5框架。

注意:当我从客户端收到内容时,我使用StateObject。此外,只有连接了一个客户端(如果我删除了threadclient()方法),我的服务器才能工作。

IIS

1 个答案:

答案 0 :(得分:0)

你在这里要求很多,Pratul。

我担心我无法回答"我如何构建多线程TCP服务器应用?"这里。但我可以给你一些指示。通常,您拥有一个侦听器套接字(如您所示)和一个等待新连接的阻塞调用。不需要等待侦听器循环中的任何同步对象。

当您接受新连接时,您将获得一个新套接字 - 分配给新连接的套接字。我不知道你在哪里拿起这个新的插座。

然后为该新连接启动一个新线程。

请参阅https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=EN-US&k=k(System.Net.Sockets.TcpListener);k(TargetFrameworkMoniker-.NETFramework

此致

亚当。