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