平码公式规律出肖|平码可以买3个平码吗

VBGood網站全文搜索 Google

搜索VBGood全站網頁(全文搜索)
首頁 - 經驗之談 - VB中Winsock控制的UDP協議的使用
發表評論(0)作者:, 平臺:, 閱讀:9475, 日期:2000-03-17
VB中Winsock控制的UDP協議的使用


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上通過)。(重慶 張業武)
平码公式规律出肖 深圳a股的股票指数 山东十一选五的开奖 快乐12分钟开奖走 淘宝快3下载安装 快3开奖结果江苏 快乐赛车彩票是违法的吗 今日上证指数多少点 天才麻将少女真人 江苏快三全天计划 快三必中的十大规律