在c#中有效使用套接字

时间:2013-08-31 11:02:42

标签: c# sockets

我在C#中使用套接字。

我用它连接:

client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(remoteEP);

我使用client.send ...

发送消息

我使用client.receive ...

收到一条消息

我已阅读以最大化使用套接字的性能我应该使用Ayscn套接字。

这是真的吗?是否有优化的缓冲区编号可供使用?例如buffer [256](etc)。

此外,在服务器端,我将一个线程分配给传入的客户端请求。工作完成后,关闭插座。我发现这是管理客户的好方法,但我也发现这不是最好的方法。真的只需要最好的方法和原因的建议。

感谢..

1 个答案:

答案 0 :(得分:0)

Async IO适用于有许多套接字(远远超过CPU数量)的情况。在其他情况下,它不会改变性能配置文件(除了它有点慢,因为它有更多的开销)。

异步是关于启动和完成IO。 IO必须执行的实际工作不会改变。使用async不会神奇地使网络更快。