六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用Visual Basic也可以完成“P2P”

[摘要]文/北京 張維  Winsock控件是VB的新增功能,它解決了以往應用VB編程時網絡中應用程序之間無法實現點對點通信的難題。Winsock使用的TCP協議和UDP協議允許建立并保持一個到遠程計算機上的連接,且可以在連接結束之前實時地進行數據交換。用戶僅通過設置屬性并借助事件處理就能夠輕而易舉地連接...
文/北京 張維

  Winsock控件是VB的新增功能,它解決了以往應用VB編程時網絡中應用程序之間無法實現點對點通信的難題。Winsock使用的TCP協議和UDP協議允許建立并保持一個到遠程計算機上的連接,且可以在連接結束之前實時地進行數據交換。用戶僅通過設置屬性并借助事件處理就能夠輕而易舉地連接到一個遠程的計算機上,而且只用兩個命令就可以實現數據交換。


  使用TCP協議時,如果需要創建一個客戶應用程序,就必須識別服務器的名稱或IP地址。應用程序的通信端口隨時都將仔細監測對方發出的消息,這是系統進行可靠連接的保證。一旦連接發生,任何一方都可以通過SendData發送和接收數據,并借助GetData把自己的數據分離出來。傳送數據時,需要先設定客戶機的LocalPort屬性,服務器則只需要把RemoteHost屬性設定為客戶機以太網的地址,并設定與客戶機LocalPort屬性相同的端口地址,借助SendData方法開始發送消息。客戶機則在GetData事件中通過DataArrival事件分離出發送的信息。一個Winsock控件可以讓本地計算機連接到遠程的計算機上,同時使用UDP或TCP協議,兩個協議都能創建客戶機和服務器應用。

  使用Winsock控件時,通信的雙方需要選定相同的協議。TCP協議適用于傳送大容量、需要安全性保證的數據文件,而UDP協議適用于需要分別與很多下屬通信,或者建立的連接比較多且為時變的情況,特別是在數據量很小的時候。設定時可以使用Winsock1.Protocol =sckTCPProtocol方法,首先要找到你的計算機的名稱,并把它添入Winsock的LocalHost屬性中。

  創建一個應用程序時,首先要確定你建立的是客戶方應用還是服務器服務,只有建立的服務器應用開始工作,并進入監聽狀態時,客戶應用程序才開始建立連接,進入正常的通信狀態。筆者建立了一個應用程序,它的功能是當客戶方的鼠標移動時,服務器應用程序上能夠實時顯示該鼠標的位置。

  下面是建立服務器應用的方法:

  1.創建一個新的標準EXE文件;

  2.加入一個Winsock控件;

  3.加入如下代碼:

  Private Sub Form Load()

   tcpServer.LocalPort = 1001

   tcpServer.Localhost = "servser"

   tcpServer.remotePort = 1002

   tcpServer.Localhost = "klint"

   tcpServer.Listen

  End Sub

  ′連接檢查

  Private Sub tcpServer ConnectionRequest(ByVal requestID As Long)

   If tcpServer.State <> sckClosed Then

  tcpServer.Close

  tcpServer.Accept requestID

  End Sub

  ′發送數據

  Private Sub frmserver monsemove(x,y)

   tcpServer.SendData "x"&str(x)

   tcpServer.SendData "y"&str(y)

  End Sub

  建立客戶應用的方法為:

  1.創建一個新的標準EXE文件;

  2.加入一個Winsock控件;

  3.加入兩個Text框——txtx和txty;

  4.加入如下代碼:

  Private Sub Form Load()

  tcpServer.LocalPort = 1002

  tcpServer.Localhost = "klint"

  tcpServer.remotePort = 1001

  tcpServer.Localhost = "servser"

  tcpServer.Listen

  End Sub

  ′連接檢查

  Private Sub tcpklint ConnectionRequest

  (ByVal requestID As Long)

  If tcpklint.State <> sckClosed Then

  tcpklint.Close

  tcpklint.Accept requestID

  End Sub

  接收數據

  Private Sub tcpClient DataArrival

  (ByVal bytesTotal As Long)

  Dim strData As String

  tcpklint.GetData strData

  if left(strData,1)="X"then

  txt x.Text = strData

  else

  txt y.Text = strData

  endif

  End Sub

  以上例程實現的是一個非常簡單的點對點通信,在此基礎上略加改造,可以形成功能復雜的實時計算機網絡A-A交互通信系統,用于控制、圖形仿真等。VB中Winsock給我們提供了一種簡便的數據傳送方法,使我們得以輕松地實現網絡點對點通信。


主站蜘蛛池模板: 日本免费的一级v一片 | 五月婷婷在线播放 | 污污小视频在线观看 | 天堂网欧美 | 婷婷欧美 | 色黄啪啪网 | 视频一区在线 | 日韩视频精品在线 | 日本一片免费观看高清完整 | 日本成人激情 | 日本福利网站 | 四虎影永久在线观看精品 | 午夜无遮挡怕怕怕免费视频 | 日本中文字幕第一页 | 特级淫片国产免费高清视频 | 亚洲欧洲国产精品久久 | 欧美无人区码卡二卡3卡4免费 | 伊人色在线 | 伊在线视频 | 小明精品国产一区二区三区 | 欧美特黄特色aaa大片免费看 | 日韩黄色一级大片 | 亚洲国产系列久久精品99人人 | 日本一区不卡在线观看 | 午夜欧美性欧美 | 亚洲最大成人网 色香蕉 | 欧美亚洲综合另类 | 亚洲精品视频免费观看 | 伊人直 | 香蕉视频在线观看免费国产婷婷 | 中文字幕女教师julia视频 | 三a毛片| 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠扒开双腿 | 欧美亚洲第一页 | 日日干夜夜草 | 中文字幕日韩视频 | 日本美女一级视频 | 五级毛片| 午夜不卡在线 | 天天看天天做 | 日韩精品福利视频一区二区三区 |