[转贴]基于UDP、TCP协议的C#网络编程之一

时间:2022-05-11 10:34:34

转自新浪"烈·翼·焚·天"的博客,原文地址:http://blog.sina.com.cn/s/blog_4c459776010009bp.html

  写这篇之前,先简单介绍一下TCP、UDP协议,深的讲不出来,有不明白的请问我秘书Dawnh同学。

      TCP(传输控制协议)是 TCP/IP 协议栈中的传输层协议,它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与IP协议相结合, TCP组成了因特网协议的核心。
      UDP(用户数据报协议)是ISO参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 UDP协议基本上是 IP 协议与上层协议的接口。UDP协议适用端口分辨运行在同一台设备上的多个应用程序。
      C#中,已将TCP,UDP,SMTP等协议封装为相应的类型库,提供了一系列方法供程序员进行操作,可以简单的理解为,基于TCP的编程就好象通电话,我拨打贱人甲电话,贱人甲必须按下接听键,我们之间才能建立起有效的连接,而基于UDP的编程就好象是收音机广播,我这头只管播,对面谁在听或者是不是收到我并不关心。TCP、UDP同属于高层协议,复杂程度是大大不如Socket编程的。
      下面我准备写两个例子,一个用UDP,一个用TCP,TCP比较好理解,UDP实际上也不麻烦,但是从网上找资料看你会看的非常晕,MSDN的各种Sample也统统放到一个类里写,效果并不好,我稍微一总结,先写个基于UDP的例子。
      示例一:UDP
    窗体:
      [转贴]基于UDP、TCP协议的C#网络编程之一
      [转贴]基于UDP、TCP协议的C#网络编程之一
      Form1做为服务器端,按下Send,将文本框的值发送出去,Form1做为客户端,接收信息并加入到ListBox控件中。
            Form1:

public partial class Form1 : Form
    {