互联网改变了人们的生活,也带动了编程产业的发展,今天我就来教大家如何用Visual Basic6.0做个简单的属于自己的聊天软件。需要用到VB6.0里的winsock控件。老规矩:左键用红色箭头,右键用绿色箭头,长按拖动用灰色画笔。
工具/原料
- Visual Basic6.0
- 服务器(此经验定义为(服务器是你的电脑,客户端是对方的电脑))
如何添加Winsock控件
- 1
打开VB,新建一个标准exe工程。
- 2
①右键“控件栏”;
②单击“部件”选项;
③选择Microsoft Winsock Control 6.0(一定要点左边的方框),点击“确定”;
- 3
这时,控件栏上就多了个Winsock控件。(此控件对于登录程序,网络通讯来说具有重要作用)
制作专属聊天软件(客户端)(给对方电脑用)
- 1
点击窗体的右下角拖动扩大窗体。
- 2
在窗口中添加:一个winsock控件、两个文本框控件、一个按钮控件。(如图所示)
- 3
①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。
②点击按钮,把“Caption”属性改为“发送”;
③点击左上角的From1,然后在属性栏中把“Caption”属性改为“客户端”。
④点击winsock控件,把winsock控件的RemoteHost属性改成你服务器(或者你电脑)的IP地址(查看IP地址的方法自行百度),把RemotePort改为1000。
- 4
双击任意一个控件,进入代码输入框。(控件栏、事件栏如图所示)(注意:中括号里的内容不要输入)(请输入粗体字)
①在控件栏中选择“Form”,在事件栏中选择“Load”(这代表着当窗口生成时会发生什么事)。下面代码框中就会出现“Private Sub Form_Load()...End”,在上下两行的空白处输入“winsock1.Connect”(意思是当窗口生成时,连接对方)
②同理,控件栏选择“Command1”,事件栏中选择“Click”【意思是按钮按下时】,空白处输入
Call Winsock1.SendData(Text2.Text)【意思是发送小文本框的内容】
Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】
Texe1.Text=Text1.Text & vbCrLf & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的内容加到大文本框里】
Text2.Text = ""【意思是把小文本框里的内容清除】
③控件栏选择“winsock1”,事件栏中选择“DataArrival”【意思是当收到对方消息时】,空白处输入
Dim message As String【意思是定义message为字符串,此步的意义是制造个叫做message的盒子,把信息装到里面去,方便运输】
Call winsock1.GetData(message)【意思是获取信息,装到message里】
Text2.Text=Text2.Text & vbCrLf "对方:" & message【意思是把信息放到大文本框上】
Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】
④控件栏选择“Form”,事件栏中选择“Terminate”【意思是当你关闭窗口时】,空白处输入winsock1.Close【意思是关闭连接】
- 5
代码效果如图。(可以把多余的删掉)
- 6
点击最左上方的“文件”,点击下面的“生成工程1.exe”,选择保存的地方。生成后别忘了发给你朋友用。关闭VB(可以不保存内容)。
制作专属聊天软件(服务端)(留自个儿用)
- 1
打开VB,再新建个标准EXE,再添加winsock控件。然后,第一步(添加控件),和上面客户端的第一步一样。(一定要保证大的文本框是Text1,小的是Text2)
- 2
①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。
②点击按钮,把“Caption”属性改为“发送”;
③点击左上角的From1,然后在属性栏中把“Caption”属性改为“服务端”。
④点击winsock控件,把RemotePort改为1000。
(图片就不必了吧)
- 3
双击任意一个控件,进入代码输入框。(注意:中括号里的内容不要输入)(请输入粗体字)(我用XXXX_XXXX代表什么控件_什么事件)
①Form_Load中输入
winsock1.LocalPort = 1000【意思是定义1000端口,给对方链接进来】
winsock1.Listen【意思是侦听,等待对方连接】
②Command1_Click中输入
Call Winsock1.SendData(Text2.Text)【意思是发送小文本框的内容】
Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】
Text1.Text = Text1.Text & vbCrLf & "我:" & Text1.Text & Text2.Text【意思是把小文本框里的内容加到大文本框里】
Text2.Text = ""【意思是把小文本框里的内容清除】
③winsock1_DataArrival中输入
Dim message As String【意思是定义message为字符串,此步的意义是制造个叫做message的盒子,把信息装到里面去,方便运输】
Call winsock1.GetData(message)【意思是获取信息,装到message里】
Text2.Text = Text2.Text & vbCrLf & "对方:" & message【意思是把信息放到大文本框上】
Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】
④winsock1_Close(意思是当winsock关闭时)中输入
winsock1.Close【意思是对方的winsock关闭,我的winsock也关闭】
winsock1.Listen【意思是侦听下一次连接】
⑤winsock1_ConnextionRequest【意思是对方请求连接时】中输入
If winsock1.State<>sckClosed Then
winsock1.Close
End If【此段的意思是如果:winsock的状态不是在关闭中,那就让他关闭】
Call winsock1.Accept(requestID)【意思是接受新的连接】
- 4
和上面的第六步一样,但是这个留你自个儿用。
注意事项
- 只能两台电脑进行通讯。(多台联合比较复杂,需要进一步学习)
- 用的时候先打开客户端再打开服务端。
- VB6.0编程语言是不是很有趣?有其他问题请在下方“我有疑问”中留言。
- 上个经验版本V第二代,于2017/8/8更新,上次编辑时间2017/7/21。修改地方:①服务端第三步骤Texe2.Text改为Text2.Text。②多处地方加上Text2.Text & vbCrLf &
- 此经验版本为V3.0,于2018/2/3更新,上次编辑时间为2017/8/8。修改地方:“......处输入“Winsock1.Connect”(意思是......” 的大写W改为小写w。
- 作者有强迫症,追求完美,希望读者们能够提出建议,改正此经验的错误。
来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!
本文链接:https://www.ibaiwen.com/web/245522.html
- 上一篇: 怎样在excel中快速输入当前日期和时间
- 下一篇: windows中关闭隐私设置的方法
- 热门文章
-
WB蒙特利尔(WB Montreal)——欧美十大最差视频游戏开发商
迅猛龙(Velociraptor)——欧美史前十大死亡动物
什么是果酱猫(What Marmalade Cats)?
神奇蜘蛛侠2(The Amazing Spider-Man 2)——欧美最佳蜘蛛侠电影
希瑟(Heather)——欧美十大最佳柯南灰歌
二人梭哈
faceu激萌怎么把瘦脸开到最大
奥兹奥斯本(Ozzy Osbourne)——欧美十大高估歌手
什么是小脑前下动脉(Anterior Inferior Cerebellar Artery)?
我应该知道康涅狄格州的什么(What Should I Know About Connecticut)?
- 热评文章
- 最新评论
-
- 最近访客
-
- 站点信息
-
- 文章总数:200248
- 页面总数:9
- 分类总数:1
- 标签总数:0
- 评论总数:0
- 浏览总数:497