0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在Visual Basic中制作一个简单的聊天程序

454398 来源:wv 2019-10-14 10:50 次阅读

步骤1:概述

如何在Visual Basic中制作一个简单的聊天程序

此程序将使您可以在同一网络上的两个人之间交换消息。如果您不在同一网络上,但我现在无法对其进行测试,它可能会起作用。

您应该拥有Microsoft Visual Basic 6.0,这就是我正在使用的语言。

建议您具有基本的编程知识

打开Visual Basic并创建标准EXE

步骤2:创建用户侵权

现在是时候创建用户窗体

了,您需要将winsock控件添加到工具箱中。

执行以下操作:

1。右键单击工具箱中没有任何内容的地方

2。单击组件

3。在长列表中找到Microsoft Winsock Control 6.0并选中它旁边的框

4。然后单击“应用”,然后单击“关闭”

添加:

5个文本框

4个命令按钮

1个winsock控件

将它们排列为下面的第二张图片

第3步:重命名和其他属性更改

我们现在将更改标题(命令按钮中的内容)

1。单击command1

2。在属性的右侧查找并找到Caption

3。将其更改为Host

对其余部分执行相同的操作,但将它们设置为:

command2 = Connect

command3 = Close

command4 =发送

现在我们要更改文本框的内容

1。单击显示为text1

2的文本框。转到属性窗口,然后找到“文本”属性

3。使其空白

4。对表示Text2

5的代码执行相同的操作。现在单击text3并将text属性更改为127.0.0.1

6。现在单击text4并将text属性更改为1234

7。现在单击text5并将text属性更改为Name

127.0.0.1是您的本地ip,因此当它完成的

1234是端口时,您可以在计算机上测试该程序,您可以根据需要进行设置,只需将其保留即可现在为1234

步骤4:更改按钮和文本框的名称

我们需要重命名命令按钮和文本框,以使其更易于编码

1。单击Text1并转到属性,然后单击名称并将其更改为txtLog。我选择它是因为它是您发送和接收的邮件的日志

2。对其余部分执行相同的操作,但命名为:

将Text2更改为txtSend

将Text3更改为txtIP

将Text4更改为txtPort

将Text5更改为txtName

将Command1更改为cmdHost

Command2更改为cmdConnect

Command3更改为cmdClose

Command 4更改为cmdSend

Winsock1更改为sckMain

现在您还需要更改另一项

单击txtLog,然后在属性窗口中找到MultiLine并使其正确

如果您有任何问题要发表评论或给我发消息

第5步:编写命令按钮

现在是时候编写命令按钮的代码了。

从第一个cmdHost

1开始。双击它,将弹出代码窗口

2。看起来应该像这样

Private Sub cmdHost_Click()

End Sub

3。输入此代码

sckMain.LocalPort = txtPort.text

sckMain.listen

现在是什么意思?

第一行使winsocks本地端口等于文本框中的数字(txtPort)

第二行告诉winsock在该端口上侦听尝试连接的人

现在将其关闭并双击cmdConnect

输入此代码 sckMain.RemoteHost = txtIP.text sckMain。 RemotePort = txtPort.text

sckMain.Connect

前两行将winsock(sckMain)的RemoteHost和RemotePort更改为我们想要的ip和端口 sckMain.Connect告诉它连接到某人侦听该端口并ip

立即关闭按钮

双击cmdClose并键入

sckMain.close

txtLog = txtLog.text和“连接已关闭!” &vbCrlf

sckMain.close告诉winsock断开连接

第二行将Connection关闭到txtLog

双击cmdSend并键入

sckMain.senddata“ [”&txtName.text&“] “&txtSend.text

txtLog = txtLog.text&” [“&txtName.text&”]“&txtSend.text&vbcrlf

txtSend.text =”“

前两行是错误的让它们在编辑器中正确保存,并在我保存时更改它们,因此请查看图片以找到正确的代码

第一行在txtSend中发送文本,而您在txtName

中的名称第二行添加您发送的消息和您的姓名至txtLog

第三行清除txtSend

中的文本第6步:对Winsock进行编码

现在是时候编写winsock了!

我们需要告诉它当有人尝试连接时该怎么做,我们需要告诉它将接收到的数据放到哪里

确定,双击winsock控件(sckMain)

在代码框的右上角应显示:error

单击下拉框并选择connec要求

现在应该在这里输入代码

的位置了:

如果sckMain.state 《》 sckClose,则

sckMain.close

如果

sckMain结束。接受requestid

txtLog = txtLog.text和“连接到:”&sckMain.RemoteHostIP&vbcrlf

第一行和第二行检查winsock(sckMain)是否关闭,如果没有关闭,则将其关闭

第三行关闭if语句

第四行告诉winsock(sckMain)接受连接

第五行告诉您通过在txtLog上添加一行来建立连接

现在我们需要告诉winsock该怎么做在代码窗口的右上角中,使用接收到的数据

单击下拉框,然后选择:DataArrival

现在输入此代码:

dim数据作为字符串

sckMain.getdata数据,vbstring

txtLog = txtLog.text和data&vbcrlf

第一行使数据成为字符串,这是将接收到的数据添加到txtLog

之前要放在其中的地方。第二行获取数据和位置它在字符串数据中作为vbstring

第三行将接收到的数据再次添加到txtLog

,如果它令人困惑并且您有问题发表评论或给我发消息

,请再次将其添加到步骤7:使用程序/结论

好,现在我将告诉您如何在Visual Basic单击文件中使用程序

,然后将project1.exe保存到桌面

如果有任何错误,请发表评论,我会尽力帮助您

现在转到您制作该程序的位置并双击它两次,然后应在一个单击主机上弹出两个程序

单击“连接”,然后在单击主机的主机上单击“已连接”:127.0.0.1

现在为它们两个输入名称,您可以在两者之间发送消息。它在LAN上有效,并且可能可以在WAN上工作,但我不确定

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    116

    文章

    3777

    浏览量

    80855
  • Visual
    +关注

    关注

    0

    文章

    252

    浏览量

    34223
收藏 人收藏

    评论

    相关推荐

    Vector推出套基于Visual Studio Code的免费插件

    在汽车软件开发过程,除使用MATLAB开发算法外,专业开发者也偏向使用Visual Studio Code来开发代码,其中软件测试用例的编写是确保系统稳定性和可靠性的重要环节。传统的CAPL脚本
    的头像 发表于 11-24 14:15 121次阅读
    Vector推出<b class='flag-5'>一</b>套基于<b class='flag-5'>Visual</b> Studio Code的免费插件

    怎样搭建基于 ChatGPT 的聊天系统

    搭建基于ChatGPT的聊天系统是涉及多个步骤的过程,包括理解ChatGPT的API、设计用户界面、处理数据和集成ChatGPT模型
    的头像 发表于 10-25 16:23 441次阅读

    在PyTorch搭建简单的模型

    在PyTorch搭建简单的模型通常涉及几个关键步骤:定义模型结构、加载数据、设置损失函数和优化器,以及进行模型训练和评估。
    的头像 发表于 07-16 18:09 1789次阅读

    何在esp32的程序体中指定变量的绝对地址,或者相对于程序首地址的固定偏移位置?

    请问下如何在esp32的程序体中指定变量的绝对地址,或者相对于程序首地址的
    发表于 06-21 08:12

    请问cmakelists的变量如何在程序中使用?

    大家好, 我有问题请教,cmakelists.txt的变量如何在程序中使用?比如以下cmakelists.txt文件的PROJECT_
    发表于 06-11 07:34

    何在没有安装visual studio或EZ-USB FX3 SDK的win10电脑上使用FwDownloadApp.exe?

    ~2022 版 VC_redist.x64.exe) 然而,问题依然存在。 有什么好办法吗? 如果没有办法,请向我解释如何在 Visual Studio 重建该项目并将 msvcp90.dll 和 msvcr90.dll
    发表于 05-30 08:31

    外设输出端口DOUT接到USART1的接收端PA.9,请问如何在程序定义?

    各位好,请问我有外设输出端口DOUT接到USART1的接收端PA.9,请问如何在程序定义,谢谢
    发表于 05-17 07:42

    Visual Develop开发STM8S207MBT6时需要提供静态库,如何实现?

    我在使用ST Visual Develop开发STM8S207MBT6时需要提供静态库(例如MDK创建的.lib库文件)给客户调取接口使用,但是我并不想客户查看函数调取接口的具体
    发表于 03-12 07:54

    鸿蒙实战开发ArkTS运用:【ai聊天框】

    ArkTS编写的HarmonyOS原生聊天UI框架,提供了开箱即用的聊天对话组件。
    的头像 发表于 03-08 15:38 859次阅读
    鸿蒙实战开发ArkTS运用:【ai<b class='flag-5'>聊天</b>框】

    何在ModusToolbox™检查和设置应用程序的内存地址?

    何在ModusToolbox™检查和设置应用程序的内存地址?
    发表于 03-01 10:16

    英伟达引领AI新潮流,推出“Chat with RTX”聊天机器人

    随着人工智能技术的突飞猛进,英伟达(NVIDIA)再次展现了其技术领导地位,为Windows PC用户带来了款革命性的本地聊天机器人应用程序——“Chat with RTX”。这
    的头像 发表于 02-19 11:11 952次阅读

    何在芯片NAC1080刷新程序

    何在芯片NAC1080刷新程序? 没有 J-link,有没有其他选择或简单的方法来做同样的事情
    发表于 01-26 07:30

    程序增加变量导致异常的分析

    大家在平常的编程过程应该会碰到各种奇葩的问题吧,反正我最近是碰到了次,再此跟大家分享下。事情的原因是我在程序增加了
    的头像 发表于 01-22 09:56 524次阅读
    <b class='flag-5'>程序</b><b class='flag-5'>中</b>增加<b class='flag-5'>一</b><b class='flag-5'>个</b>变量导致异常的分析

    电感线圈制作绕制少圈会不会影响使用

    电感作为电子电路中非常重要的电子元器件,它的品质对电路的正常运行有着非常重要的影响。而电感的品质影响因素众多,那么,电感在制作如果绕制少
    的头像 发表于 12-15 10:09 616次阅读

    何在Spring Boot应用程序整合ZXing库

    在数字化时代,二维码已经成为了信息交流的种常见方式。它们被广泛用于各种应用,从产品标签到活动传单,以及电子支付。本文将向您展示如何在Spring Boot应用程序整合ZXing库,
    的头像 发表于 12-03 17:39 1062次阅读