问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vb中基于TCP的网络编程中的WINSOCK控件如何使用?

发布网友 发布时间:2022-05-16 19:25

我来回答

1个回答

热心网友 时间:2024-02-29 19:31

用VB实现客户——服务器(TCP/IP)编程实例

-
现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。
TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。
1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。
建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)
添加两文本框Text1,Text2,和一按钮Command1
Private Sub Form_Load()
SockServer.LocalPort = 2000 ′服务器端口号,最好大于1000
SockServer.Listen ′开始侦听
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockServer.Close
End Sub
Private Sub SockServer_Close()
SockServer.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID ′表示客户请求连接的ID号
End Sub
′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
Private Sub SockServer_Data
Arrival(ByVal bytesTotal As Long)
Dim s As String
SockServer.GetData s
Text1.Text = s
End Sub
当我需要向客户发送数据时,只需调用SendData方法。
Private Sub Command1_Click()
SockServer .SendData Text2.Text
text1.text = text2.text
text2.text = ""
End Sub
2.创建客户。要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。
建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1
Private Sub Form_Load()
dim my as string
my = SockCl.RemoteHostIP
SockCl.RemoteHost = my
′表示服务器主机名
SockCl.RemotePort = 2000
′表示服务器端口名
SockCl.Connect
′连接到服务器
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockCl.Close
End Sub
Private Sub SockCl_Close()
SockCl.Close
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockCl.GetData s ′接收数据到文本框中
Text1.Text = s
End Sub
Private Sub Command1_Click()
SockCl.SendData Text2.Text ′向服务器发送数据
text1.text = text2.text
text2.text = ""
End Sub
3.进行通信。把这两个窗体分别编译成两个EXE文件,服务器Server.exe和客户Client.exe程序,并把它们分别安装在服务器端和客户端,这样就可以实现两者通信了。

Private Sub Form_Load()
Dim my As String
my = SockCl.RemoteHostIP
SockCl.RemoteHost = my
SockCl.RemotePort = 2000
SockCl.Connect
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockCl.Close
End Sub
Private Sub SockCl_Close()
SockCl.Close
End Sub
Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockCl.GetData s
Text1.Text = s
End Sub
Private Sub Command1_Click()
SockCl.SendData Text2.Text
Text1.Text = Text2.Text
Text2.Text = ""
End Sub

Private Sub Form_Load()
SockServer.LocalPort = 2000
SockServer.Listen
End Sub
Private Sub Form_Unload(Cancel As Integer)
SockServer.Close
End Sub
Private Sub SockServer_Close()
SockServer.Close
End Sub
Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
SockServer.Close
SockServer.Accept requestID
End Sub
Private Sub Command1_Click()
SockServer.SendData Text2.Text
Text1.Text = Text2.Text
Text2.Text = ""
End Sub
Private Sub SockServer_DataArrival(ByVal bytesTotal As Long)
Dim s As String
SockServer.GetData s
Text1.Text = s
End Sub
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土狗一般多大开始懂人性 如何训练 小土狗怎么训练才听话 新手训狗的好方法 跑跑卡丁车故事模式哪一关还海盗船长(人物)奖励的,骨灰玩家说下._百 ... 跑跑卡丁车手游被遗忘的炮塔的宝藏在哪_跑跑卡丁车手游被遗忘的炮塔的... 跑跑卡丁车手游在被遗忘的炮塔附近搜寻宝藏怎么做?遗忘炮塔宝藏攻略... 跑跑卡丁车手游被遗忘炮塔宝藏在哪 炮塔附近搜寻宝箱位置详解-新手攻略... 跑跑卡丁车被遗忘的炮塔附近宝藏在哪里_跑跑卡丁车被遗忘的炮塔附近宝藏... 跑跑卡丁车手游在遗忘的炮塔附近搜寻宝藏在哪 遗忘炮塔宝藏位置详解 迅捷路由器使用问题 ...MATLAB7.0的,程序总是在打开后一会,就自动关闭了。希望能帮忙哦,感... 彭水城市展览馆解说词 用indy的TIdTCPServer控件做服务器,怎样实现多线程.60CSDN 红魔手机怎么限制热点流量? 如何启用tcp服务控件,一点那个启用TCP服务控件,就一直在提示正在处理你的操作,但就不见处理完成。 上海世博会美国馆导游词急 文物古迹解说词和展览解说词的具体区别是什么? 红尘紫陌的作者简介 小说我的朋友遍布全职业作者红尘滚滚在线下载地址 大寨展览馆陈列内容解说词 我13岁身高150厘米体重40公斤腿很粗能长多高 起亚K5全车贴膜要多少钱 起亚k54s店贴膜包括天窗膜吗 诗词赋《那世花开》作者红尘一笑 如何预防阴虚火旺? 谁知道红魔手机玩游戏为什么网络不行? 汽车前档有必要贴膜吗?起亚k5全车贴雷诺太阳膜要800,好像不加前档要600. 我今年13周岁,150厘米,爸爸172厘米,妈妈156厘米,我还能长多高? 得偿所愿的爱情_by红尘晚陌_txt全文阅读,百度网盘免费下载 k5贴了车顶膜,现在有点气泡正常吗 我今年十三岁,身高150CM,男生,请问专家,我能不能再长高? VB.net 2010版本,做TCP/IP协议的通讯,使用什么控件 上海世博会英文解说词 本地链接属性里的TCP/Ip协议属性控件被禁用,以至于IP无法输入上不了网,怎样开启? 关于展览作业本解说词内容 六个人的标志是什么 队名、队标志、队口号。 小学生日记展览解说词 红旗H5中空屏怎么专 在化妆摄影过程中,给新人拍摄彩色摄影妆有哪些特点呢 vb.net如何使用TCP/IP协议向服务器发送字符串,要用到什么控件和函数? 如何使用ttcpserver控件 VB实现TCP点对点通信(使用winsock控件) 谁有这个标志高清图! 北海园博园导游词英文 dntp指的是什么? 求exo成员的个人logo大图最好是每个人分开的,还有集体大logo,有新的更好哦~图中最好不要有字... 急需一个VB的TCP通信程序!! 成都这,有专门学[彩色化妆]的学校吗? DNA在复制的时候原料为什么是dNTP,不是dNMP? 急需一个 机械 团队的 LOGO最好有现代感 五个人的团队能突出团结 创新就可以!!!在线等待