首页 > 软件开发 > 编程语言 >

如何在VB编程环境下实现两台PC机的TCP/IP通讯

来源:互联网 2023-03-16 23:55:26 版权归原作者所有,如有侵权,请联系我们

如何利用两台PC机在VB编程环境下实现TCP/IP通信,下面简要介绍下步骤。3Dk办公区 - 实用经验教程分享!

如何在VB编程环境下实现两台PC机的TCP/IP通讯3Dk办公区 - 实用经验教程分享!

工具/原料

  • 电脑
  • VB编程环境、winsock控件

方法/步骤

  • 1

    在电脑上的VB环境下新建工程1,创建新的standard EXE工程,窗体1名称:frmserver,窗体的标题改为:“TCP服务器”,在此窗口中放置一个winsock控件(名称为tdpserver),当做服务器,添加两个Textbox控件,分别命名为:txtsenddata与txtoutput3Dk办公区 - 实用经验教程分享!

  • 2

    编写程序代码:(发送字符串)3Dk办公区 - 实用经验教程分享!

    private sub Form_Load()3Dk办公区 - 实用经验教程分享!

    Tcpserver.localport=1001 '设置侦听端口3Dk办公区 - 实用经验教程分享!

    Tcpserver.Listen '侦听3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub tcpserver_connectionRequest(Byval requestID as Long)3Dk办公区 - 实用经验教程分享!

    If tcoserver.state>sckclosed then3Dk办公区 - 实用经验教程分享!

    tcpserver.close3Dk办公区 - 实用经验教程分享!

    tcpserver Accept requestID3Dk办公区 - 实用经验教程分享!

    Private sub txtsenddata_change()3Dk办公区 - 实用经验教程分享!

    Tcpserver.senddata txtsenddata.text3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub tcpserver_DataArrival(Byval bytesTotal as Long)3Dk办公区 - 实用经验教程分享!

    Dim strData as string3Dk办公区 - 实用经验教程分享!

    TCPserver.GetData strData3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub Timer1_Timer()3Dk办公区 - 实用经验教程分享!

    Label3.caption=tcpserver.state3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    如何在VB编程环境下实现两台PC机的TCP/IP通讯3Dk办公区 - 实用经验教程分享!

  • 2该信息未经许可获取自百度经验
  • 3

    TCP客户端:在另一台PC机上新建工程,添加窗口,命名:frmclient 标题:Tcpclient 添加winsock控件,命名:tcpclient3Dk办公区 - 实用经验教程分享!

    添加两个textbox控件,第一个命名为txtsend,第二个命名为:txtoutput,在窗口上放一个commandButton控件,命名为cmdconnect,将CommandButton控件的标题改为connect。3Dk办公区 - 实用经验教程分享!

  • 4

    编写程序:3Dk办公区 - 实用经验教程分享!

    Private sub Form_Load()3Dk办公区 - 实用经验教程分享!

    Tcpclient.RemoteHost=”127.0.0.1”(192.168.1.100)服务器的IP地址或是本地地址3Dk办公区 - 实用经验教程分享!

    Tcpclient.RemotePort=1001 ‘侦听端口应该相同3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub cmdconnect_click()3Dk办公区 - 实用经验教程分享!

    Tcpclient.connect3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub txtsenddata_change()3Dk办公区 - 实用经验教程分享!

    Tcpclient.senddata txtsend.text3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub tcpclient_DataArrival(Byval bytesTotal as Long)3Dk办公区 - 实用经验教程分享!

    Dim strdata as string3Dk办公区 - 实用经验教程分享!

    Tcpclient.GetData strdata3Dk办公区 - 实用经验教程分享!

    Txtoutput.Text=strdata3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    3Dk办公区 - 实用经验教程分享!

    Private sub Timer1_Timer()3Dk办公区 - 实用经验教程分享!

    Label3.Caption=tcpclient.state3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    如何在VB编程环境下实现两台PC机的TCP/IP通讯3Dk办公区 - 实用经验教程分享!

  • 5

    Winsock控件state的属性与描述3Dk办公区 - 实用经验教程分享!

    常数(值) 描述3Dk办公区 - 实用经验教程分享!

    Sckclosed 0 缺省的,关闭3Dk办公区 - 实用经验教程分享!

    Sckopen 1 打开3Dk办公区 - 实用经验教程分享!

    SckListening 2 侦听3Dk办公区 - 实用经验教程分享!

    Sckconnectionpending 3 连接挂起3Dk办公区 - 实用经验教程分享!

    SckResolvingHost 4 识别主机3Dk办公区 - 实用经验教程分享!

    SckHostResolved 5 已识别主机3Dk办公区 - 实用经验教程分享!

    SckConnecting 6 正在连接3Dk办公区 - 实用经验教程分享!

    SckConnected 7 已经连接3Dk办公区 - 实用经验教程分享!

    SckClosing 8 同级人员正在关闭连接3Dk办公区 - 实用经验教程分享!

    Sckerror 9 错误3Dk办公区 - 实用经验教程分享!

  • 6

    将服务器与客户机发送与接收数据部分的程序进行修改,实现字节数组的发送与接收,如,客户机发送定长字节数组。3Dk办公区 - 实用经验教程分享!

    服务器a1(0 to 7)3Dk办公区 - 实用经验教程分享!

    将元素放在七个TEXT中3Dk办公区 - 实用经验教程分享!

    代码如下:3Dk办公区 - 实用经验教程分享!

    Private sub command1_click()3Dk办公区 - 实用经验教程分享!

    Dim a1(0 to 7) as byte3Dk办公区 - 实用经验教程分享!

    a1(0)=text1(0).text3Dk办公区 - 实用经验教程分享!

    a1(1)=text1(1).text3Dk办公区 - 实用经验教程分享!

    a1(2)=text1(2).text3Dk办公区 - 实用经验教程分享!

    a1(3)=text1(3).text3Dk办公区 - 实用经验教程分享!

    a1(4)=text1(4).text3Dk办公区 - 实用经验教程分享!

    a1(5)=text1(5).texta1(6)=text1(6).text3Dk办公区 - 实用经验教程分享!

    a1(7)=text1(7).text3Dk办公区 - 实用经验教程分享!

    tcpserver.senddata a13Dk办公区 - 实用经验教程分享!

    end sub3Dk办公区 - 实用经验教程分享!

  • 7

    对应的客户端代码3Dk办公区 - 实用经验教程分享!

    Private sub tcpclient_DataArrival(Byval bytesTotal as Long)3Dk办公区 - 实用经验教程分享!

    Dim b() as byte3Dk办公区 - 实用经验教程分享!

    Tcpclient.getdata b3Dk办公区 - 实用经验教程分享!

    Text1(0).text=b(0)3Dk办公区 - 实用经验教程分享!

    Text1(1).text=b(1)3Dk办公区 - 实用经验教程分享!

    Text1(2).text=b(2)3Dk办公区 - 实用经验教程分享!

    Text1(3).text=b(3)3Dk办公区 - 实用经验教程分享!

    Text1(4).text=b(4)3Dk办公区 - 实用经验教程分享!

    Text1(5).text=b(5)3Dk办公区 - 实用经验教程分享!

    Text1(6).text=b(6)3Dk办公区 - 实用经验教程分享!

    Text1(7).text=b(7)3Dk办公区 - 实用经验教程分享!

    If Text1 (0).text=11 then3Dk办公区 - 实用经验教程分享!

    Dim c(0 to 7) as Byte3Dk办公区 - 实用经验教程分享!

    c(0)=text2(0).text3Dk办公区 - 实用经验教程分享!

    c(1)=text2(1).text3Dk办公区 - 实用经验教程分享!

    c(2)=text2(2).text3Dk办公区 - 实用经验教程分享!

    c(3)=text2(3).text3Dk办公区 - 实用经验教程分享!

    c(4)=text2(4).text3Dk办公区 - 实用经验教程分享!

    c(5)=text2(5).text3Dk办公区 - 实用经验教程分享!

    c(6)=text2(6).text3Dk办公区 - 实用经验教程分享!

    c(7)=text2(7).text3Dk办公区 - 实用经验教程分享!

    tcpclient.senddata c3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

    对应的服务器接收端的代码如下:3Dk办公区 - 实用经验教程分享!

    Private sub tcpserver_DataArrival(Byval bytesTotal as Long)3Dk办公区 - 实用经验教程分享!

    Dim bt() as byte3Dk办公区 - 实用经验教程分享!

    Text3(0).text=bt(0)3Dk办公区 - 实用经验教程分享!

    Text3(1).text=bt(1)3Dk办公区 - 实用经验教程分享!

    Text3(2).text=bt(2)3Dk办公区 - 实用经验教程分享!

    Text3(3).text=bt(3)3Dk办公区 - 实用经验教程分享!

    Text3(4).text=bt(4)3Dk办公区 - 实用经验教程分享!

    Text3(5).text=bt(5)3Dk办公区 - 实用经验教程分享!

    Text3(6).text=bt(6)3Dk办公区 - 实用经验教程分享!

    Text3(7).text=bt(7)3Dk办公区 - 实用经验教程分享!

    End sub3Dk办公区 - 实用经验教程分享!

  • 8

    运行的过程,将网络连接好后,点击服务器程序上的发送,如果发送的第一个字节为11的话,在客户机显示服务器发送过来的数据的同时,服务器接收到客户机发送过来的数据并显示出来。3Dk办公区 - 实用经验教程分享!

  • 注意事项

    • 经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士
    • 本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!3Dk办公区 - 实用经验教程分享!


    标签: 编程

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号