• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    用Visual Basic實現點對點通訊

    發布: 2007-5-25 09:19 | 作者: 未知 | 來源: 電腦時代 | 查看: 36次 | 進入軟件測試論壇討論

    領測軟件測試網  使用TCP協議時,如果需要創建一個客戶應用程序,就必須識別服務器的名稱或IP地址。應用程序的通信端口隨時都將仔細監測對方發出的消息,這是系統進行可靠連接的保證。一旦連接發生,任何一方都可以通過SendData發送和接收數據,并借助GetData把自己的數據分離出來。傳送數據時,需要先設定客戶機的LocalPort屬性,服務器則只需要把RemoteHost屬性設定為客戶機以太網的地址,并設定與客戶機LocalPort屬性相同的端口地址,借助SendData方法開始發送消息?蛻魴C則在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給我們提供了一種簡便的數據傳送方法,使我們得以輕松地實現網絡點對點通信。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>