鉴于大家对ASP.net十分关注,我们编辑小组在此为大家搜集整理了“VB.NET中的Winsock控件”一文,供大家参考学习!
VB.NET提供了一个Winsock控件,它包装了Socket的功能和通信规程。Winsock控件提供了极其方便的访问网络的途径,它的属性如图4.5所示。
其中,Protocol指明使用的通信协议,对应Socket的两种方式(TCP或13DP)。RemoteHost指要连接到的远程主机,可以用IP地址或机器名(域名)来表示。RemotePort是连接到的远程主机的端口,I~ocalPort是本地主机的端口。
Winsock控件可以使用两种协议进行通信。在使用TCP协议时,首先建立一个网络连接服务器端,并设置本地服务器端口号,然后服务器调用方法Listen进入监听状态,等待来自客户端的连接请求。与此对应的客户端不但要将Winsock的属性RemoteHost设置为服务器的名称(IP地址或网络代号),还应设置所监听的端口号(RemotePort),如FTP月艮务在21端口、HTTP在80端口等。然后调用方法Winsock.Connect向服务器发出请求。服务器接收到客户端发来的连接请求时,事件ConnectionRequest将被触发。如果服务器端愿意提供服务,则可调用Accept方法接受连接。
一旦连接建立,两端均可使用SendData或GetData进行数据的发送或接收。在其中一端数据准备就绪时,另一端的DataArrival事件将被触发。
使用UDP协议的区别是,调用Socket的两端无需建立连接便可进行数据的传输。因此,一个UDP应用可以同时担任服务器或客户端的角色。
下面通过编写使用TCP和UDP协议进行点对点通信的应用程序,来加深理解Winsock控件的使用方法。