广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

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

    来源:网络收集  点击:  时间:2024-04-07
    【导读】:
    如何利用两台PC机在VB编程环境下实现TCP/IP通信,下面简要介绍下步骤。工具/原料more电脑VB编程环境、winsock控件方法/步骤1/8分步阅读

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

    2/8

    编写程序代码:(发送字符串)

    private sub Form_Load()

    Tcpserver.localport=1001 设置侦听端口

    Tcpserver.Listen 侦听

    End sub

    Private sub tcpserver_connectionRequest(Byval requestID as Long)

    If tcoserver.statesckclosed then

    tcpserver.close

    tcpserver Accept requestID

    Private sub txtsenddata_change()

    Tcpserver.senddata txtsenddata.text

    End sub

    Private sub tcpserver_DataArrival(Byval bytesTotal as Long)

    Dim strData as string

    TCPserver.GetData strData

    End sub

    Private sub Timer1_Timer()

    Label3.caption=tcpserver.state

    End sub

    3/8

    TCP客户端:在另一台PC机上新建工程,添加窗口,命名:frmclient 标题:Tcpclient 添加winsock控件,命名:tcpclient

    添加两个textbox控件,第一个命名为txtsend,第二个命名为:txtoutput,在窗口上放一个commandButton控件,命名为cmdconnect,将CommandButton控件的标题改为connect。

    4/8

    编写程序:

    Private sub Form_Load()

    Tcpclient.RemoteHost=”127.0.0.1”(192.168.1.100)服务器的IP地址或是本地地址

    Tcpclient.RemotePort=1001 ‘侦听端口应该相同

    End sub

    Private sub cmdconnect_click()

    Tcpclient.connect

    End sub

    Private sub txtsenddata_change()

    Tcpclient.senddata txtsend.text

    End sub

    Private sub tcpclient_DataArrival(Byval bytesTotal as Long)

    Dim strdata as string

    Tcpclient.GetData strdata

    Txtoutput.Text=strdata

    End sub

    Private sub Timer1_Timer()

    Label3.Caption=tcpclient.state

    End sub

    5/8

    Winsock控件state的属性与描述

    常数(值) 描述

    Sckclosed 0 缺省的,关闭

    Sckopen 1 打开

    SckListening 2 侦听

    Sckconnectionpending 3 连接挂起

    SckResolvingHost 4 识别主机

    SckHostResolved 5 已识别主机

    SckConnecting 6 正在连接

    SckConnected 7 已经连接

    SckClosing 8 同级人员正在关闭连接

    Sckerror 9 错误

    6/8

    将服务器与客户机发送与接收数据部分的程序进行修改,实现字节数组的发送与接收,如,客户机发送定长字节数组。

    服务器a1(0 to 7)

    将元素放在七个TEXT中

    代码如下:

    Private sub command1_click()

    Dim a1(0 to 7) as byte

    a1(0)=text1(0).text

    a1(1)=text1(1).text

    a1(2)=text1(2).text

    a1(3)=text1(3).text

    a1(4)=text1(4).text

    a1(5)=text1(5).texta1(6)=text1(6).text

    a1(7)=text1(7).text

    tcpserver.senddata a1

    end sub

    7/8

    对应的客户端代码

    Private sub tcpclient_DataArrival(Byval bytesTotal as Long)

    Dim b() as byte

    Tcpclient.getdata b

    Text1(0).text=b(0)

    Text1(1).text=b(1)

    Text1(2).text=b(2)

    Text1(3).text=b(3)

    Text1(4).text=b(4)

    Text1(5).text=b(5)

    Text1(6).text=b(6)

    Text1(7).text=b(7)

    If Text1 (0).text=11 then

    Dim c(0 to 7) as Byte

    c(0)=text2(0).text

    c(1)=text2(1).text

    c(2)=text2(2).text

    c(3)=text2(3).text

    c(4)=text2(4).text

    c(5)=text2(5).text

    c(6)=text2(6).text

    c(7)=text2(7).text

    tcpclient.senddata c

    End sub

    对应的服务器接收端的代码如下:

    Private sub tcpserver_DataArrival(Byval bytesTotal as Long)

    Dim bt() as byte

    Text3(0).text=bt(0)

    Text3(1).text=bt(1)

    Text3(2).text=bt(2)

    Text3(3).text=bt(3)

    Text3(4).text=bt(4)

    Text3(5).text=bt(5)

    Text3(6).text=bt(6)

    Text3(7).text=bt(7)

    End sub

    8/8

    运行的过程,将网络连接好后,点击服务器程序上的发送,如果发送的第一个字节为11的话,在客户机显示服务器发送过来的数据的同时,服务器接收到客户机发送过来的数据并显示出来。

    注意事项

    经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士

    本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

    编程
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_455351.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 03:49:05  耗时:0.025
    0.0253s