什么是好的教程/ howto on .net / c#socket编程

我正在将使用Winsock控件的旧VB6代码移植到C#。 我没有做任何套接字编程,我想知道是否有人有一个很好的参考/教程/ howto,我可以用来开始加快速度。

当我继续使用我普遍没有效率的谷歌搜索时,我正在吸引蜂巢的头脑。

我目前正在使用UDP,而不是TCP。

2005年8月的MSDN杂志有一篇关于System.Net.Sockets和WinSock的文章:

http://msdn.microsoft.com/en-us/magazine/cc300760.aspx

  • 我建议大多数应用程序使用异步模型,特别是如果您希望性能或应用程序在网络出现问题时不会挂起。 为此,关于Socket.BeginConnect和Socket.BeginReceive的MSDN文章是很好的起点。
  • 以下链接不是.NET,但许多建议仍然存在: http : //tangentsoft.net/wskfaq/articles/lame-list.html

MSDN是一个很好的起点

你在做什么:客户端( TCPClient )或服务器( TCPListener )

只是抬头:

我建议先使用TCP而不是UDP。 UDP不会像TCP一样自动重新丢失丢失的数据包,因此它会在方程式中添加另一个元素,这可能会让您在刚刚开始时感到困惑。

使用.Net库中提供的TCPClient类,构建套接字客户端相对容易。 TCPListener很容易用于单个客户端,但如果您希望开发一些服务器类型的应用程序(IE:处理多个连接),那么您必须克服的真正障碍就是理解multithreading。

一旦你玩了单连接套接字,我建议你阅读multithreading。