国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

用VisualBasic也可以實現P2P

2019-11-18 17:28:52
字體:
來源:轉載
供稿:網友
使用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.加入如下代碼:

  PrivateSubFormLoad()

   tcpServer.LocalPort=1001

   tcpServer.Localhost="servser"

   tcpServer.remotePort=1002

   tcpServer.Localhost="klint"

   tcpServer.Listen

  EndSub

  ′連接檢查

  PrivateSubtcpServerConnectionRequest(ByValrequestIDAsLong)

   IftcpServer.State<>sckClosedThen

  tcpServer.Close

  tcpServer.AcceptrequestID

  EndSub

  ′發送數據

  PrivateSubfrmservermonsemove(x,y)

   tcpServer.SendData"x"&str(x)

   tcpServer.SendData"y"&str(y)

  EndSub

  建立客戶應用的方法為:

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

  2.加入一個Winsock控件;

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

  4.加入如下代碼:

  PrivateSubFormLoad()

  tcpServer.LocalPort=1002

  tcpServer.Localhost="klint"

  tcpServer.remotePort=1001

  tcpServer.Localhost="servser"

  tcpServer.Listen

  EndSub

  ′連接檢查

  PrivateSubtcpklintConnectionRequest

  (ByValrequestIDAsLong)

  Iftcpklint.State<>sckClosedThen

  tcpklint.Close

  tcpklint.AcceptrequestID

  EndSub

  接收數據

  PrivateSubtcpClientDataArrival

  (ByValbytesTotalAsLong)

  DimstrDataAsString

  tcpklint.GetDatastrData

  ifleft(strData,1)="X"then

  txtx.Text=strData

  else

  txty.Text=strData

  endif

  EndSub

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

->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大余县| 和硕县| 昆明市| 龙游县| 白水县| 贡山| 张家川| 宁强县| 林芝县| 古田县| 惠水县| 化德县| 堆龙德庆县| 汉源县| 高阳县| 顺昌县| 锦屏县| 威海市| 榆社县| 巴林右旗| 浮梁县| 泽库县| 安徽省| 东丽区| 云阳县| 荥阳市| 广宗县| 湛江市| 荃湾区| 宣城市| 赤壁市| 怀集县| 甘泉县| 南漳县| 余姚市| 安塞县| 长汀县| 洛阳市| 漳州市| 菏泽市| 四会市|