VB 网络编程--WinSock 控件及WinSockAPI 一,WinSock 简介 Socket(套接字)最初是由加利福尼亚大学Berkeley(伯克利)分校为UNIX 操作系统开发的网络通信接口,随着UNIX 的广泛使用,Socket 成为当前最流行的网络通信应用程序接口之一。20 世纪 90 年代初,由Sun Microsystems,JSB,FTP software,Microdyne 和Microsoft 等几家公司共同定制了一套标准,即 Windows Socket 规范,简称 WinSock。 VB 编写网络程序主要有两种方式:1.winsock 控件 2.winsockAPI 二,WinSock 控件的使用 1.WinSock 控件的主要属性 a.Protocol 属性 通过 Protocol 属性可以设置 WinSock 控件连接远程计算机使用的协议。可选的协议是TCP 和 UDP 对应的VB 的常量分别是sckTCPProtocol 和 sckUDPProtocol,Winsock 控件默认协议是TCP。注意:虽然可以在运行时设置协议,但必须在连接未建立或断开连接后。 b.SocketHandle 属性 SocketHandle 返回当前socket 连接的句柄,这是只读属性。 c.RemoteHostIP 属性 RemoteHostIP 属性返回远程计算机的IP 地址。在客户端,当使用了控件的Connect 方法后,远程计算机的IP 地址就赋给了RemoteHostIP 属性,而在服务器端,当ConnectRequest 事件后,远程计算机(客户端)的IP 地址就赋给了这个属性。如果使用的是UDP 协议那么当DataArrival 事件后,发送 UDP 报文的计算机的IP 才赋给了这个属性。 d.ByteReceived 属性 返回当前接收缓冲区中的字节数 e.State 属性 返回 WinSock 控件当前的状态 常数 值 描述 sckClosed 0 缺省值,关闭。 SckOpen 1 打开。 SckListening 2 侦听 sckConnectionPending 3 连接挂起 sckResolvingHost 4 识别主机。 sckHostResolved 5 已识别主机 sckConnecting 6 正在连接。 sckConnected 7 已连接。 sckClosing 8 同级人员正在关闭连接。 sckError 9 错误 2.WinSock 主要方法 a.Bind 方法 用Bind 方法可以把一个端口号固定为本控件使用,使得别的应用程序不能再使用这个端口。 b.Listen 方法 Listen 方法只在使用TCP 协议时有用。它将应用程序置于监听检测状态。 c.Connect 方法 当本地计算机希望和远程计算机建立连接时,就可以调用Connect 方法。 Connect 方法调用的规范为: Connect RemoteHost,RemotePort d.Accept 方法 当服务器接收到客户端的连接请求后,服务器有权...