- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用Visual Basic实现点对点通讯 使用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.加入如下代码:
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 xstr(x) tcpServer.SendData ystr(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)=Xthen txt x.Text = strData else txt y.Text = strData endif End Sub
以上例程实现的是一个非常简单的点对点通信,在此基础上略加改造
您可能关注的文档
- tiff图像的数据分析(VB版).doc
- TM3G 车载DVR使用手册.doc
- TreeView控件与SQL数据库的应用(遍历算法).doc
- vab的实例精解.doc
- Vb1-4章练习题并附答案(仅供参考).doc
- VB1-5章练习题.doc
- vb1)学习资料.doc
- vb01题目.doc
- VB2生产废水论文:VB_2生产废水处理的试验研究.doc
- VB6 数组.doc
- 光模块在光纤激光器市场的应用与技术创新报告.docx
- 赣美版 小学美术三年级下册 9 .小挂饰 教案.doc
- 石油行业环保政策2025年影响与应对策略报告.docx
- 2025年上海市发酵技术在污泥生物处理及资源化中的应用可行性研究.docx
- 2025年上海市马术主题宠物友好型场地开发可行性研究报告.docx
- 山塘可行性分析报告范文.docx
- 2025年产560万台汽车转向及制动系统电机生产线技术改造项目可行性分析.docx
- 2025年电子泵在石油开采中的应用与挑战分析.docx
- 2025年上海市烧伤科远程医疗会诊平台在基层医院的普及可行性研究报告.docx
- 2025年模型训练在智能交通导航系统中的优化方案.docx
文档评论(0)