【tcp—聊天工具的开发】
本帖最后由 书香 于 2024-2-10 04:40 编辑源码下载:
前面我们已经学习了tcp的相关应用,024:【tcp—留言功能】,在前面的课程中并没有讲服务器如何给客户端发送数据
本节要来写一个聊天工具,相当于客服系统,由于考虑到代码难度,本节讲解的是单人的,也就是服务器系统只允许同时与一个人聊天
这也是我们的第2个课程设计,第一个是044:【店铺会员系统设计】
这是一个大概的效果图,接下里大家下载源码开始学习
客户端代码:
.版本 2
.子程序 __启动窗口_创建完毕
.局部变量 逻辑值, 逻辑型
逻辑值 = 客户1.连接 (“127.0.0.1”, 19730)
.判断开始 (逻辑值 = 真)
_启动窗口.标题 = “连接成功”
.默认
_启动窗口.标题 = “连接失败,请重新连接”
.子程序 _客户1_连接断开
_启动窗口.标题 = “连接失败,请重新连接”
窗口创建完毕就连接服务器,客户1组件和服务器断开连接了_启动窗口.标题有响应告知使用者
.版本 2
.子程序 _编辑框_收信框_鼠标右键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
弹出菜单 (功能, , )
.子程序 _连接_被选择
.局部变量 逻辑值, 逻辑型
逻辑值 = 客户1.连接 (“127.0.0.1”, 19730)
.判断开始 (逻辑值 = 真)
_启动窗口.标题 = “连接成功”
.默认
_启动窗口.标题 = “连接失败,请重新打开软件”
.判断结束
这里绑定了一个菜单事件,可以重新发起连接
.版本 2
.子程序 _按钮_发送_被单击
.局部变量 逻辑值, 逻辑型
时间 = “(” + 时间_格式化EX (取现行时间 (), , , 3) + “)”
逻辑值 = 客户1.发送数据 (编辑框_发信框.内容)
.判断开始 (逻辑值 = 真)
编辑框_收信框.内容 = 编辑框_收信框.内容 + “自己” + 时间 + “:” + #换行符 + 编辑框_发信框.内容 + #换行符 + #换行符
.默认
编辑框_收信框.内容 = 编辑框_收信框.内容 + “自己” + 时间 + “:” + #换行符 + “发送失败” + #换行符 + #换行符
.判断结束
.子程序 _客户1_数据到达
.局部变量 数据, 文本型
数据 = 到文本 (客户1.取回数据 ())
时间 = “(” + 时间_格式化EX (取现行时间 (), , , 3) + “)”
编辑框_收信框.内容 = 编辑框_收信框.内容 + “服务器” + 时间 + “:” + #换行符 + 数据 + #换行符 + #换行符
这个是发送和接收代码,所谓接收就是当服务器给客户端发送数据的时候,会触发_客户1_数据到达这个子程序
服务器端代码
.版本 2
.子程序 _服务器1_客户进入
客户ip = 服务器1.取回客户 ()
_启动窗口.标题 = “服务器 连接客户:” + 客户ip
当客户连接进来的时候,取出连接客户的ip,格式为ip:端口,这个端口不是19730服务器设置的端口,是客户端设备上的端口,这个问题先不讨论
至于发送和接收代码,和客户端的发送接收差不多,没什么特别好讲的
重点:
我们消息记录的部分来源于2部分,一个是当我们按下发送按钮的时候,一个是接收到数据的时候
这就是需要聊天工具的底层框架了,在此基础上慢慢扩展出多人聊天,发送图片,群聊等功能
(点击返回课程目录:https://www.52hb.com/thread-58658-1-1.html)
感谢分亨!!!!!!!!
感谢分亨!!!!!!!!
页:
[1]