互联网改变了人们的生活,也带动了编程产业的发展,今天我就来教大家如何用Visual Basic6.0做个简单的属于自己的聊天软件。需要用到VB6.0里的winsock控件。老规矩:左键用红色箭头,右键用绿色箭头,长按拖动用灰色画笔。
工具/原料
Visual Basic6.0
服务器(此经验定义为(服务器是你的电脑,客户端是对方的电脑))
如何添加Winsock控件
1、打开VB,新建一个标准exe工程。
2、①右键“控件栏”;②单击“部件”选项;③选择Microsoft Winsock Control 6.0(一定要点左边的方框),点击“确定”;
3、这时,控件栏上就多了个Winsock控件。(此控件对于登录程序,网络通讯来说具有重要作用)
制作专属聊天软件(客户端)(给对方电脑用)
1、在窗口中添加:一个winsock控件、两个文本框控件、一个按钮控件。(如图所示)
2、①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。②点击按钮,把“Capti泠贾高框on”属性改为“发送”;③点击左上角的From1,然后在属性栏中把“Caption”属性改为“客户端”。④点击winsock控件,把winsock控件的RemoteHost属性改成你服务器(或者你电脑)的IP地址(查看IP地址的方法自行百度),把RemotePort改为1000。
3、双击任意一个控件,进入代码输入框。(控件栏、事件栏如图所示)(注意:中括号里的内容不要输入犬匮渝扮)(请输入粗体字)①在控件楷苷哲檄栏中选择“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 & Text2.Text【意思是把小文本框里的内容加到大文本框里】Text2.Text = ""【意思是把小文本框里的内容清除】③控件栏选择“winsock1”,事件栏中选择“DataArrival”【意思是当收到对方消息时】,空白处输入Dim message As String【意思是定义message为字符串,此步的意义是制造个叫做message的盒子,把信息装到里面去,方便运输】Call winsock1.GetData(message)【意思是获取信息,装到message里】Text2.Text="对方:" & message【意思是把信息放到大文本框上】Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】④控件栏选择“Form”,事件栏中选择“Terminate”【意思是当你关闭窗口时】,空白处输入winsock1.Close【意思是关闭连接】
4、代码效果如图。(可以把多余的删掉)
5、点击最左上方的“文件”,点击下面的“生成工程1.exe”,选择保存的地方。生成后别忘了发给你朋友用。关闭VB(可以不保存内容)。
制作专属聊天软件(服务端)(留自个儿用)
1、打开VB,再新建个标准EXE,再添加winsock控件。然后,第一步(添加控件),和上面客户端的第一步一样。(一定要保证大的文本框是Text1,小的是Text2)
2、①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。②点击按钮,把“Capti泠贾高框on”属性改为“发送”;③点击左上角的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)【意思是设置文本的插入点】 Texe1.Text="我:" & Text1.Text & Text2.Text【意思是把小文本框里的内容加到大文本框里】 Text2.Text = ""【意思是把小文本框里的内容清除】③winsock1_DataArrival中输入Dim message As String【意思是定义message为字符串,此步的意义是制造个叫做message的盒子,把信息装到里面去,方便运输】Call winsock1.GetData(message)【意思是获取信息,装到message里】Text2.Text="对方:" & message【意思是把信息放到大文本框上】Text2.SelStart = Len(Text2.Text)【意思是设置文本的插入点】④winsock1_Close(意思是当winsock关闭时)中输入winsock1.Close【意思是对方的winsock关闭,我的winsock也关闭】winsock1.Listen【意思是侦听下一次连接】⑤winsock1_ConnextionRequest【意思是对方请求连接时】中输入If winsock1.State<>sckClosed Then winsock1.CloseEnd If【此段的意思是如果:winsock的状态不是在关闭中,那就让他关闭】Call winsock1.Accept(requestID)【意思是接受新的连接】
4、和第五步一样,但是这个留你自个儿用。