当前位置:网站首页 > 创业 > 正文

如何做个简单的聊天软件

0 张子豪 张子豪 2025-10-12 16:21 1

互联网改变了人们的生活,也带动了编程产业的发展,今天我就来教大家如何用Visual Basic6.0做个简单的属于自己的聊天软件。需要用到VB6.0里的winsock控件。老规矩:左键用红色箭头,右键用绿色箭头,长按拖动用灰色画笔。

工具/原料

  • Visual Basic6.0
  • 服务器(此经验定义为(服务器是你的电脑,客户端是对方的电脑))

如何添加Winsock控件

  1. 1

    打开VB,新建一个标准exe工程。

  2. 2

    ①右键“控件栏”;

    ②单击“部件”选项;

    ③选择Microsoft Winsock Control 6.0(一定要点左边的方框),点击“确定”;

  3. 3

    这时,控件栏上就多了个Winsock控件。(此控件对于登录程序,网络通讯来说具有重要作用)

制作专属聊天软件(客户端)(给对方电脑用)

  1. 1

    点击窗体的右下角拖动扩大窗体。

  2. 2

    在窗口中添加:一个winsock控件、两个文本框控件、一个按钮控件。(如图所示)

  3. 3

    ①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。

    ②点击按钮,把“Caption”属性改为“发送”;

    ③点击左上角的From1,然后在属性栏中把“Caption”属性改为“客户端”。

    ④点击winsock控件,把winsock控件的RemoteHost属性改成你服务器(或者你电脑)的IP地址(查看IP地址的方法自行百度),把RemotePort改为1000。

  4. 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. 5

    代码效果如图。(可以把多余的删掉)

  6. 6

    点击最左上方的“文件”,点击下面的“生成工程1.exe”,选择保存的地方。生成后别忘了发给你朋友用。关闭VB(可以不保存内容)。

制作专属聊天软件(服务端)(留自个儿用)

  1. 1

    打开VB,再新建个标准EXE,再添加winsock控件。然后,第一步(添加控件),和上面客户端的第一步一样。(一定要保证大的文本框是Text1,小的是Text2)

  2. 2

    ①点击最大的文本框控件,把属性栏的“Text”属性中的文本删除,同样,把小文本框的也删除。

    ②点击按钮,把“Caption”属性改为“发送”;

    ③点击左上角的From1,然后在属性栏中把“Caption”属性改为“服务端”。

    ④点击winsock控件,把RemotePort改为1000。

    (图片就不必了吧)

  3. 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. 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

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图