日期:2014-05-19  浏览次数:20968 次

c#多线程实现socket
有N(数量几千,并发的数量应该也有几百)个用户,并且有N个控制端,每个用户对应一个控制端,用户发送消息到服务器,服务器经过解析,
然后做为客户段与用户对应的控制端建立一个Socket(tcp方式)连接,然后把接受到用户的信息,发送到控制端,控制端接收到指令,并且返回反馈信息给服务器。
我想通过sokcet短连接实现以上功能,在控制端返回消息后,马上断开socket连接。想通过多线程实现,请各位给点思路

------解决方案--------------------
用AsyncSocket, 把Send和Receive的动作都放在ThreadPool中(QueueUserWorkItems), Send Message时把Message Enqueue到一个sendingQueue中, 并用一个ManualResetEvent通知数据已经Ready, 同时, 在ThreadPool的WaitCallback中异步处理, ReceiveMessage同理