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上工作,但我不确定

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

    关注

    117

    文章

    3836

    浏览量

    84760
  • Visual
    +关注

    关注

    0

    文章

    255

    浏览量

    35398
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux 下交叉编译实战:跑起来你的第一个 STM32 程序

    很多开发者第次接触STM32,总会被“交叉编译”、“烧录程序”等概念绕晕。其实方法很简单:在Linux下配置交叉编译环境,编写简单程序,然后烧录到STM32,就可以看到成果了。本文带
    的头像 发表于 11-24 19:04 235次阅读
    Linux 下交叉编译实战:跑起来你的第<b class='flag-5'>一个</b> STM32 <b class='flag-5'>程序</b>

    何在应用程序调试期间分析栈和堆使用情况

    随着 AMD Vitis 统软件平台 2021.2 的发布,Vitis 引入了 Tcl 脚本,用于在应用程序运行的特定时间点协助查找栈和堆的内存使用情况。该脚本已延续到后续的 V
    的头像 发表于 10-24 16:54 584次阅读
    如<b class='flag-5'>何在</b>应用<b class='flag-5'>程序</b>调试期间分析栈和堆使用情况

    BASiC_BSRD-2503-ES01数据手册

    BASiC_BSRD-2503-ES01
    发表于 09-01 16:25 6次下载

    BASiC_SiC分立器件产品介绍

    BASiC_SiC分立器件产品介绍
    发表于 09-01 16:16 0次下载

    BASiC_SiC MOSFET工业模块产品介绍

    BASiC_SiC MOSFET工业模块产品介绍
    发表于 09-01 16:02 0次下载

    何在下载程序时保护flash的用户数据不被覆盖?

    使用stm32cubeide或stm32cubeprogrammer烧写程序,stlink下载器,芯片stm32h743,芯片内部flash的0x08100000地址写有用户数据,如何在重新烧写
    发表于 08-14 06:38

    何在AMD Vitis Unified 2024.2连接到QEMU

    在本篇文章我们将学习如何在 AMD Vitis Unified 2024.2 连接到 QEMU。 这是本系列的第 2 篇博文。要了解如何设置和使用 QEMU + 协同仿真,请参阅开发者分享|在 AMD Versal 自适应 SoC 上使用
    的头像 发表于 08-06 17:24 1483次阅读
    如<b class='flag-5'>何在</b>AMD Vitis Unified 2024.2<b class='flag-5'>中</b>连接到QEMU

    何在EZ-USB SX3配置实用程序配置它的设置?

    SX3 UVC(CYUSB3017)是否可以使用图像传感器接口以非整数帧速率(如 29.97fps)传输 UVC 视频? 如何在 EZ-USB SX3 配置实用程序配置它的设置?谢谢。
    发表于 05-15 06:25

    何在Visual Studio 2022运行FX3吞吐量基准测试工具?

    我正在尝试运行 John Hyde 的书“SuperSpeed by Design”的 FX3 吞吐量基准测试工具。 但是,我面临些困难,希望得到任何指导。 具体来说,我正在使用 Visual
    发表于 05-13 08:05

    解锁垂直美学!如何在你的Raspberry Pi相框仅显示竖版照片!

    何在你的RaspberryPi相框仅显示竖幅照片这篇文章可能只针对小部分读者,但这就是像这样的博客的乐趣所在:你可以深入探索各种极客话题。已在搭载BookwormWayland
    的头像 发表于 03-25 09:33 661次阅读
    解锁垂直美学!如<b class='flag-5'>何在</b>你的Raspberry Pi相框<b class='flag-5'>中</b>仅显示竖版照片!

    何在 树莓派 上编写和运行 C 语言程序

    在本教程,我将讨论C编程语言是什么,C编程的用途,以及如何在RaspberryPi上编写和运行C程序。本文的目的是为您介绍在RaspberryPi上进行C编程的基础知识。如果您想深入了解C编程
    的头像 发表于 03-25 09:28 936次阅读
    如<b class='flag-5'>何在</b> 树莓派 上编写和运行 C 语言<b class='flag-5'>程序</b>?

    零基础入门:如何在树莓派上编写和运行Python程序

    在这篇文章,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行
    的头像 发表于 03-25 09:27 1523次阅读
    零基础入门:如<b class='flag-5'>何在</b>树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    Visual Studio运行Hello分类样本 ,仅在Visual Studio输出收到错误消息,怎么解决?

    Visual Studio* 运行 Hello 分类样本 ,仅在 Visual Studio* 输出收到错误消息: Exception thrown
    发表于 03-05 08:16

    HarmonyOS NEXT 原生应用开发:社交聊天对话过程实现

    、实现思路 本DEMO旨在展示如何在HarmonyOS NEXT平台上,利用ArkTS开发语言构建简易的社交聊天对话界面。用户可以在此
    发表于 01-07 10:55

    Todoist键时间跟踪

    过三简单的步骤将您的Todoist工作区连接到TMetric时间跟踪应用。通过单击鼠标跟踪执行任务所花费的时间。为项目获取广泛而精确的报告。 添加计时器按钮到Todoist任务 完成这三
    的头像 发表于 01-03 11:08 749次阅读
    Todoist<b class='flag-5'>一</b>键时间跟踪