visualbasic:用Visual Basic实现P2P



使用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(x,y)

   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(strData,1)=\"X\"then

  txt x.Text = strData

  

  txt y.Text = strData

  end

  End Sub

  
Tags:  visualbasic2005 visualbasic.net visualbasic6.0 visualbasic

延伸阅读

最新评论

发表评论