麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

在VB中使用UDP協議

2019-11-18 17:27:41
字體:
來源:轉載
供稿:網友
UDP協議基礎:

  UDP(UserDatagramPRotocol)是一種無連接協議,與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=“UDPapplication(1)”
  Winsock控制:Name=“udpPeerA”Protocol=“sckUDPProtocol”
  文本框1(TextBox):Name“txtSend”
  文本框2(TcxtBox):Name=“txtOutput”MultiLine-TrueScrollBars=2

  然后打開代碼窗口,分別在相應的事件下輸入以下代碼:
  PrivateSubForm_Load()
  WithudpPeerA
  .RemoteHost=“197.1.1.2”'要連接到的計算機名
  .RemotePort=1010'要連接到的端口號
  .LocalPort=1011'該Winsock控制將要使用的本地端口號,便于其它端與該Winsock通訊
  .Bind1011'將該Winsock控制綁定到該本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerA.SendDatatxtSend.Text'發送文本
  EndSub
  PrivateSubudpPeerA_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerA.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub

  UDP應用二:

  類似建立UDPServer的方法,在表單上添加一個Winsock控制及兩個文本框,然后進行以下屬性的設置:

  表單(Form):Name=“frmPeerB”Caption=“UDPApplication(2)”
  Winsock控制:Name=“udpPeerB”Protocol=“sckUDPProtoclool”
  文本框1(TextBox):Name=“txtSend”
  文本框2(TextBox):Name=“txtOutput”MultiLine=TrueScrollBars=2

  然后輸入以下代碼:
  PrivateSubForm_Load()
  WithudpPeerB
  .RemoteHost=“197.1.1.2”'要連接到計算機的IP地址
  .RemotePort=1011'要連接到的端口號
  .LocalPort=1010'該Winsock控制將使用的本地端口號,便于其它方與之通訊
  .Bind1010'將該Winsock控制綁定到該本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerB.SendDatatxtSend.Text'發送文本
  EndSub
  PrivateSubudpPeerB_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerB.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub

  要運行該實例,打開兩個VisualBasic的事例,然后分別運行這兩個工程文件即可。若要在不同的機器上運行此兩例,只需要將兩個工程文件中的RemoteHost改變成相應的計算機的IP地址或域名即可。->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人黄色 | h视频免费看 | 毛片视频网站在线观看 | 成人午夜一区二区 | 新久久久久久 | 久久久久久免费 | 国产精品久久久久久久久久尿 | 亚洲精品久久久久久久久久久 | av在线免费播放网站 | 精品一区二区电影 | 欧美精品网址 | 国产免费观看电影网站 | 日韩剧情片 | 九九色在线观看 | 国产一区免费 | 在线中文字幕播放 | 九九视频精品在线观看 | 国产资源在线免费观看 | 亚洲婷婷日日综合婷婷噜噜噜 | 免费久久久 | 中国fx性欧美xxxx | 精品一二三区视频 | 午夜精品影院 | 日本教室三级在线看 | 欧美黄色小视频 | 成人免费区 | 露脸各种姿势啪啪的清纯美女 | 免费一级毛片在线播放视频 | 91久久精品一区二区 | 男女一边摸一边做羞羞视频免费 | 天天夜天天操 | 97久色| 99re热精品视频 | 宅男噜噜噜66国产免费观看 | 做羞羞视频 | 亚洲欧美日韩精品久久 | 色蜜桃av | 激情久久一区二区 | 在线男人天堂 | 欧美爱爱视频 | 成人污在线 |