日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

VB中Winsock控制的UDP協議的運用

VB中Winsock控制的UDP協議的運用

更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

UDP協議基礎:  
  UDP(User Datagram Protocol)是一種無連接協議,與TCP操作不同,計算機間并不需要建立一個連接,同時,一個UDP應用可同時作為應用的客戶或服務器方。  
  由于UDP協議并不需要建立一個明確的連接,因此建立UDP應用要比建立TCP應用簡單得多。在TCP應用中,一個Winsock控制必須明確地設置成“監聽”,而其它Winsock控制則必須使用Connect方法來初始一個連接。  
  使用UDP協議,在兩個Winsock控制間進行數據的發送,在連接的兩端必須完成以下三步:  
  1.設置RemoteHost屬性為其它計算機的名稱;  
  2.設置RemotePort屬性為第二個Winsock控制的LocalPort屬性的值;  
  3.申請Bind方法。  
  通過使用方法Bind,則可將該Winsock控制捆綁到一個本地端口,以便該Winsock控制使用該端口來進行類似TCP的“監聽”功能,并防止其它應用使用該端口。  
  使用該協議傳送數據,首先設置客戶計算機的LocalPort屬性。而作為服務器的計算機僅需要設置RemoteHost屬性為客戶計算機的IP地址或域名即可,并將其RemotePort屬性設置成客戶計算機上的LocalPort屬性即可,然后就可通過申請SendData方法來開始信息發送,客戶計算機則可在其DataArrial事件中使用方法GetData來獲取發送的信息。  
  下例具體演示了一個“談話”應用,以允許相互間進行實時的交談。  
  UDP應用一:  
  建立一個新標準EXE工程文件,拖放一個Winsock控制到表單上,添加兩個文本框到表單上,然后進行以下屬性的設置:  
  表單(Form):Name=“frmPeerA” Caption=“UDP Application(1)”  
  Winsock控制:Name=“udpPeerA” Protocol=“sckUDPProtocol”  
  文本框1(TextBox): Name“txtSend”  
  文本框2(TcxtBox): Name=“txtOutput” MultiLine-True ScrollBars=2  
  然后打開代碼窗口,分別在相應的事件下輸入以下代碼:  
  Private Sub Form_Load()  
   With udpPeerA  
   .RemoteHost=“197.1.1.2” '要連接到的計算機名  
   .RemotePort=1010 '要連接到的端口號  
   .LocalPort=1011 '該Winsock控制將要使用的本地端口號,便于其它端與該Winsock通訊  
   .Bind 1011 '將該Winsock控制綁定到該本地端口  
   EndWith  
  End Sub  
  Private Sub txtSend_Change()  
   udpPeerA.SendData txtSend.Text'發送文本  
  End Sub  
  Private Sub udpPeerA_DataArrival(ByVal bytesTotal As Long)  
   Dim strData As String  
   udpPeerA.GetData strData,vbString  
   txtOutput.Text = strData  
  End Sub  
  UDP應用二:  
  類似建立UDP Server的方法,在表單上添加一個Winsock控制及兩個文本框,然后進行以下屬性的設置:  
  表單(Form):Name=“frmPeerB” Caption=“UDP Application(2)”  
  Winsock控制:Name=“udpPeerB” Protocol=“sckUDPProtoclool”  
  文本框1(TextBox):Name=“txtSend”  
  文本框2(TextBox):Name=“txtOutput” MultiLine=True ScrollBars=2  
  然后輸入以下代碼:  
  Private Sub Form_Load()  
   With udpPeerB  
   .RemoteHost=“197.1.1.2” '要連接到計算機的IP地址  
   .RemotePort=1011 '要連接到的端口號  
   .LocalPort=1010 '該Winsock控制將使用的本地端口號,便于其它方與之通訊  
   .Bind 1010 '將該Winsock控制綁定到該本地端口  
   End With  
  End Sub  
  Private Sub txtSend_Change()  
   udpPeerB.SendData txtSend.Text '發送文本  
  End Sub  
  Private Sub udpPeerB_DataArrival(ByVal bytesTotal As Long)  
   Dim strData As String  
   udpPeerB.GetData strData,vbString  
  txtOutput.Text=strData  
  End Sub  
  要運行該實例,打開兩個Visual Basic的事例,然后分別運行這兩個工程文件即可。若要在不同的機器上運行此兩例,只需要將兩個工程文件中的RemoteHost改變成相應的計算機的IP地址或域名即可(以上例子在Visual Basic 5.0及PWIN97上通過)。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 亚洲一区在线日韩在线深爱 | 国产久视频 | 国产xxxx做受性欧美88 | 成人福利视频在线 | 国产亚洲欧美日韩在线一区 | 曰批免费视频播放在线看片 | 在线观看免费视频 | 久久综合给合久久97色美利坚 | 亚洲影视一区 | 91麻豆精品国产91久久久久 | 正在播放国产在厨房乱 | 九一国产精品 | www.91在线播放| 国产日韩免费 | 久久婷婷婷 | 国产日韩美国成人 | 色噜噜狠狠狠狠色综合久 | 2021国产精品 | 亚洲美女亚洲精品久久久久 | 青青操青青| 欧美一级高清片免费一级 | 日本a毛片在线播放 | 欧美成人区| 在线播放高清国语自产拍免费 | 嫩模被xxxx视频在线观看 | 日日噜噜夜夜狠狠视频buoke | 午夜在线观看免费影院 | 国产3级在线| 国产综合视频在线观看 | 色婷婷精品大全在线视频 | 综合色伊人 | 九九久久国产精品免费热6 九九久久精品 | 久久精品天天中文字幕人 | 2021天天躁夜夜躁西西 | 交性大片欧美网 | 啪啪网站免费观看 | 久久精品大全 | 超级碰碰青草久热国产 | 红怡院欧洲 | 日本不卡不码高清免费观看 | 草草影院地址ccyycom浮力影院37 草草影院浮力 |