visualbasic:Visual Basic实现点对点通讯



 使用TCP协议时如果需要创建个客户应用就必须识别服务器名称或IP地址应用通信端口随时都将仔细监测对方发出消息这是系统进行可靠连接保证旦连接发生任何方都可以通过SendData发送和接收数据并借助GetData把自己数据分离出来传送数据时需要先设定客户机LocalPort属性服务器则只需要把RemoteHost属性设定为客户机以太网地址并设定和客户机LocalPort属性相同端口地址借助SendData思路方法开始发送消息客户机则在GetData事件中通过DataArrival事件分离出发送信息个WinsockControl控件可以让本地计算机连接到远程计算机上同时使用UDP或TCP协议两个协议都能创建客户机和服务器应用

  使用WinsockControl控件时通信双方需要选定相同协议TCP协议适用于传送大容量、需要安全性保证数据文件而UDP协议适用于需要分别和很多下属通信或者建立连接比较多且为时变情况特别是在数据量很小时候设定时可以使用Winsock1.Protocol =sckTCPProtocol思路方法首先要找到你计算机名称并把它添入WinsockLocalHost属性中

  创建个应用首先要确定你建立是客户方应用还是服务器服务只有建立服务器应用开始工作并进入监听状态时客户应用才开始建立连接进入正常通信状态笔者建立了个应用功能是当客户方鼠标移动时服务器应用上能够实时显示该鼠标位置

  下面是建立服务器应用思路方法:

  1.创建个新标准EXE文件;

  2.加入个WinsockControl控件;

  3.加入如下代码:

  Private Sub Form Load

   tcpServer.LocalPort = 1001

   tcpServer.Localhost = \"servser\"

   tcpServer.remotePort = 1002

   tcpServer.Localhost = \"kl\"

   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(xy)

   tcpServer.SendData \"x\"&str(x)

   tcpServer.SendData \"y\"&str(y)

  End Sub


  建立客户应用思路方法为:

  1.创建个新标准EXE文件;

  2.加入个WinsockControl控件;

  3.加入两个Text框——txtx和txty;

  4.加入如下代码:

 Private Sub Form Load
  tcpServer.LocalPort = 1002
  tcpServer.Localhost = \"kl\"
  tcpServer.remotePort = 1001
  tcpServer.Localhost = \"servser\"
  tcpServer.Listen
 End Sub

 \'连接检查

 Private Sub tcpkl ConnectionRequest
  (ByVal requestID As Long)
  If tcpkl.State <> sckClosed Then
   tcpkl.Close
   tcpkl.Accept requestID
 End Sub


  接收数据

 Private Sub tcpClient DataArrival
  (ByVal sTotal As Long)
  Dim strData As String
  tcpkl.GetData strData
   left(strData1)=\"X\"then
   txt x.Text = strData
  
   txt y.Text = strData
  end
 End Sub


  以上例程实现个非常简单点对点通信在此基础上略加改造可以形成功能复杂实时计算机网络A-A交互通信系统用于控制、图形仿真等VB中Winsock给我们提供了种简便数据传送思路方法使我们得以轻松地实现网络点对点通信
Tags:  visualbasic2005 visualbasic.net visualbasic6.0 visualbasic

延伸阅读

最新评论

发表评论