VBWINSOCK 实现 tcpudp 通信
1 基于 VB 的 tcp udp 通信
这是一篇基于 VB 使用 WINSOCK 实现 tcp udp 通信连接的基础文章根据原理可以再程
序上尽情发挥你的才能:
I TCP 和 UDP 协议介绍 TcP 和 UDP 是 TCP/IP 协议中的两个传输层协议,它们使用 IP
路由功能把数据包发送到目的地,从而为应用程序及应用层协议提供网络服务。
TcP 是面向连接的协议。“面向连接”就是在正式通信前必须要与对方建立起可靠的连接,
这就好象平时的打电话,必须等线路接通了、对方拿起话筒才能相互通话。一个 TCP 连接
必须要经过三次“对话”才能建立起,其中的过程非常复杂。
UDP(UserData Protocol,用户数据报协议)是与 TCP 相对应的协议,是面向非连接
的协议。“面向非连接”是在正式通信前不必与对方先建立连接,不考虑对方状态就直接发
送数据,这就好象平时的发手机短信,不必考虑对方状态,只需要输人对方手机号就行。
TCP 提供的是面向连接的、可靠的数据流传输而 UDP 提供的是面向非连接的、不可靠
的数据流传输。面向连接的协议在任何数据传输前就建立好了点到点的连接,面向非连接
的协议在数据传输之前不建立连接,而是在每个中间节点对面向非连接的包和数据包进行
路由。
2 利用 TCP 通信协议编程
利用 TcP 协议通信必须分别建立客户应用程序和服务器应用程序。
创建客户应用程序时,必须知道服务器计算机名或其 IP 地址(将其存于 RemoteHost
属性)、及服务器计算机进行侦听的端口(将其存于 Remoteport 属性),然后调用
Connect 方法。
创建服务器应用程序时,应相应设置一个侦听端口(将端口号存于 localPort 属性)并调
用 listen 方法。当客户机需要连接时(connect),就会发生 ConnectionRequest 事件。
为了完成连接,可以在 ConnectionRequest 事件中调用 AccePt 方法。建立连接后,任
何一方计算机都可以发送、接收对方数据。如果要发送数据,需调用 SendData 方法。当
接收到数据时,会发生 DataArrival 事件,在Dataarrival 事件中调用 CetData 方法就
可以获得对方传送的数据。
下面通过一个简单的示例,以两台计算机之间的通信来分析 VB 中的 Winsock 控件是