如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 350 编程语言
如何利用两台PC机在VB编程环境下实现TCP/IP通信,下面简要介绍下步骤。
在电脑上的VB环境下新建工程1,创建新的standard EXE工程,窗体1名称:frmserver,窗体的标题改为:“TCP服务器”,在此窗口中放置一个winsock控件(名称为tdpserver),当做服务器,添加两个Textbox控件,分别命名为:txtsenddata与txtoutput
编写程序代码:(发送字符串)
private sub Form_Load()
Tcpserver.localport=1001 '设置侦听端口
Tcpserver.Listen '侦听
End sub
Private sub tcpserver_connectionRequest(Byval requestID as Long)
If tcoserver.state>sckclosed 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
TCP客户端:在另一台PC机上新建工程,添加窗口,命名:frmclient 标题:Tcpclient 添加winsock控件,命名:tcpclient
添加两个textbox控件,第一个命名为txtsend,第二个命名为:txtoutput,在窗口上放一个commandButton控件,命名为cmdconnect,将CommandButton控件的标题改为connect。
编写程序:
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
Winsock控件state的属性与描述
常数(值) 描述
Sckclosed 0 缺省的,关闭
Sckopen 1 打开
SckListening 2 侦听
Sckconnectionpending 3 连接挂起
SckResolvingHost 4 识别主机
SckHostResolved 5 已识别主机
SckConnecting 6 正在连接
SckConnected 7 已经连接
SckClosing 8 同级人员正在关闭连接
Sckerror 9 错误
将服务器与客户机发送与接收数据部分的程序进行修改,实现字节数组的发送与接收,如,客户机发送定长字节数组。
服务器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
对应的客户端代码
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
运行的过程,将网络连接好后,点击服务器程序上的发送,如果发送的第一个字节为11的话,在客户机显示服务器发送过来的数据的同时,服务器接收到客户机发送过来的数据并显示出来。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
标签: 编程
相关文章
如何快速学习:[1]Swift编程语言,Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Ojective-C*共同运行于MacOS和iOS平台,用于搭建基于苹果平台的应用程......
2023-03-17 350 编程语言
web图表开发工具FineReport:[11]连续分组,数据库表数据是按照时间先后录入的,查询的时候希望按照时间先后,某个字段连续相同的话就合并起来显示,这样的报表可以通过相邻连续分组来实现。......
2023-03-17 574 编程语言