.net / C#套接字编程上有什么好的教程/方法

时间:2020-03-06 14:27:25  来源:igfitidea点击:

我正在将使用Winsock控件的旧VB6代码移植到C#。我还没有做过任何套接字编程,我想知道是否有人有一个很好的参考资料/教程/操作方法,可以用来快速入门。

在继续进行通常毫无成效的谷歌搜索时,我正在吸引蜂巢的思想。

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

解决方案

MSDN是一个很好的起点

我们是否在从事以下工作:
客户端(TCPClient)
或者服务器(TCPListener)

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

http://msdn.microsoft.com/zh-CN/magazine/cc300760.aspx

  • 我建议将异步模型用于大多数应用程序,尤其是当我们需要性能或者应用程序在出现网络问题时不挂起时。为此,有关Socket.BeginConnect和Socket.BeginReceive的MSDN文章是不错的起点。
  • 以下链接不是.NET,但是许多建议仍然有效:http://tangentsoft.net/wskfaq/articles/lame-list.html

请注意:

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

使用.Net库中可用的TCPClient类,构建套接字客户端相对容易。 TCPListener很容易用于单个客户端,但是如果我们希望开发某种服务器类型的应用程序(即,处理多个连接),则真正要克服的障碍就是理解多线程。

一旦我们使用了单连接套接字,我建议我们阅读多线程技术。