如何做个简单的聊天软件
的有关信息介绍如下:互联网改变了人们的生活,也带动了编程产业的发展,今天我就来教大家如何用Visual Basic6.0做个简单的属于自己的聊天软件。需要用到VB6.0里的winsock控件。老规矩:左键用红色箭头,右键用绿色箭头,长按拖动用灰色画笔。
打开VB,新建一个标准exe工程。
①右键“控件栏”;
②单击“部件”选项;
③选择Microsoft Winsock Control 6.0(一定要点左边的方框),点击“确定”;
这时,控件栏上就多了个Winsock控件。(此控件对于登录程序,网络通讯来说具有重要作用)
点击窗体的右下角拖动扩大窗体。
在窗口中添加:一个winsock控件、两个文本框控件、一个按钮控件。(如图所示)
①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。
②点击按钮,把“Caption”属性改为“发送”;
③点击左上角的From1,然后在属性栏中把“Caption”属性改为“客户端”。
④点击winsock控件,把winsock控件的RemoteHost属性改成你服务器(或者你电脑)的IP地址(查看IP地址的方法自行百度),把RemotePort改为1000。
双击任意一个控件,进入代码输入框。(控件栏、事件栏如图所示)(注意:中括号里的内容不要输入)(请输入粗体字)
①在控件栏中选择“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【意思是关闭连接】
代码效果如图。(可以把多余的删掉)
点击最左上方的“文件”,点击下面的“生成工程1.exe”,选择保存的地方。生成后别忘了发给你朋友用。关闭VB(可以不保存内容)。
打开VB,再新建个标准EXE,再添加winsock控件。然后,第一步(添加控件),和上面客户端的第一步一样。(一定要保证大的文本框是Text1,小的是Text2)
①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。
②点击按钮,把“Caption”属性改为“发送”;
③点击左上角的From1,然后在属性栏中把“Caption”属性改为“服务端”。
④点击winsock控件,把RemotePort改为1000。
(图片就不必了吧)
双击任意一个控件,进入代码输入框。(注意:中括号里的内容不要输入)(请输入粗体字)(我用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)【意思是接受新的连接】
和上面的第六步一样,但是这个留你自个儿用。