用VisualBasic也可以实现P2P

johy苏离

johy苏离

2016-02-19 20:15

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享用VisualBasic也可以实现P2P,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。
使用TCP协议时,如果需要创建一个客户应用程序,就必须识别服务器的名称或IP地址。应用程序的通信端口随时都将仔细监测对方发出的消息,这是系统进行可靠连接的保证。一旦连接发生,任何一方都可以通过SendData发送和接收数据,并借助GetData把自己的数据分离出来。传送数据时,需要先设定客户机的LocalPort属性,服务器则只需要把RemoteHost属性设定为客户机以太网的地址,并设定与客户机LocalPort属性相同的端口地址,借助SendData方法开始发送消息。客户机则在GetData事件中通过DataArrival事件分离出发送的信息。一个Winsock控件可以让本地计算机连接到远程的计算机上,同时使用UDP或TCP协议,两个协议都能创建客户机和服务器应用。

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

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

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

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  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文件;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  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给我们提供了一种简便的数据传送方法,使我们得以轻松地实现网络点对点通信。

->

展开更多 50%)
分享

猜你喜欢

用VisualBasic也可以实现P2P

编程语言 网络编程
用VisualBasic也可以实现P2P

p2p金融是什么?p2p金融公司

生活常识
p2p金融是什么?p2p金融公司

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

什么是P2P信贷 P2P信贷的定义

理财小知识 理财
什么是P2P信贷 P2P信贷的定义

p2p是什么意思 p2p是什么

理财小知识 理财
p2p是什么意思 p2p是什么

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

投资者如何规避P2P风险 如何投资P2P

个人理财 理财方法 理财小知识
投资者如何规避P2P风险 如何投资P2P

P2P理财有哪些好处 P2P理财有哪些优势

理财 投资 理财小知识
P2P理财有哪些好处 P2P理财有哪些优势

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

用VB计算1 1=2

用VB计算1 1=2

在VB中实现闪动标题栏

在VB中实现闪动标题栏
下拉加载更多内容 ↓