吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3619|回复: 24
收起左侧

[易语言 原创] 简易远程聊天程序(服务端+客户端)

  [复制链接]
TZ425 发表于 2025-5-23 01:16
易语言支持库的服务器/客户端实现的远程消息小程序,功能简单。

服务端:

服务端

服务端


[Asm] 纯文本查看 复制代码
.版本 2
.支持库 iext

.程序集 窗口程序集_启动窗口
.程序集变量 客户, 文本型, , "0"

.子程序 _服务器1_数据到达
.局部变量 当前客户数量, 整数型
.局部变量 发送消息的用户, 文本型
.局部变量 发送的消息, 文本型
.局部变量 i, 整数型

当前客户数量 = 取数组成员数 (客户)
发送消息的用户 = 服务器1.取回客户 ()
发送的消息 = 到文本 (服务器1.取回数据 ())

.计次循环首 (当前客户数量, i)
    .如果 (客户 [i] = 发送消息的用户)
        ' 接受消息的用户=发信用户,不做处理
    .否则

        服务器1.发送数据 (客户 [i], “<” + 发送消息的用户 + “> ” + 发送的消息 + #换行符, )
    .如果结束

.计次循环尾 ()


.子程序 _服务器1_客户进入
.局部变量 加入的客户, 文本型
.局部变量 当前客户数量, 整数型

加入的客户 = 服务器1.取回客户 ()
加入成员 (客户, 加入的客户)
超级列表框1.插入表项 (, 加入的客户, , , , )
超级列表框1.刷新显示 ()
当前客户数量 = 超级列表框1.取表项数 ()
超级列表框1.置列标题 (0, “IP:端口-- 当前客户端:” + 到文本 (当前客户数量))
消息框.加入文本 (到文本 (取现行时间 ()) + “  用户 ” + 加入的客户 + “ 加入聊天室!” + #换行符)


.子程序 _服务器1_客户离开
.局部变量 离开的客户, 文本型
.局部变量 位置N, 整数型
.局部变量 当前客户数量, 整数型

' 获取离开的客户ip,用这个ip对比数组内的成员,找到成员位置并删除,刷新数组,再刷新显示列表框成员
离开的客户 = 服务器1.取回客户 ()
位置N = 超级列表框1.查找表项 (离开的客户, , 真, 0)
删除成员 (客户, 位置N, 1)
超级列表框1.删除表项 (位置N)
超级列表框1.刷新显示 ()
当前客户数量 = 超级列表框1.取表项数 ()
超级列表框1.置列标题 (0, “IP:端口-- 当前客户端:” + 到文本 (当前客户数量))
消息框.加入文本 (到文本 (取现行时间 ()) + “  用户 ” + 离开的客户 + “ 离开聊天室!” + #换行符)




.子程序 _发送按钮_被单击
.局部变量 当前客户数量, 整数型
.局部变量 i, 整数型

当前客户数量 = 取数组成员数 (客户)
.计次循环首 (当前客户数量, i)
    服务器1.发送数据 (客户 [i], “服务器:” + 发送框.内容 + #换行符, )
.计次循环尾 ()
消息框.加入文本 (“服务器:” + 发送框.内容 + #换行符 + #换行符)


.子程序 _超级列表框1_右键单击表项
.局部变量 当前客户数量, 整数型

服务器1.发送数据 (超级列表框1.取标题 (超级列表框1.现行选中项, ), “您已被移出聊天!” + #换行符, )
服务器1.断开客户 (超级列表框1.取标题 (超级列表框1.现行选中项, ))
当前客户数量 = 超级列表框1.取表项数 ()
超级列表框1.置列标题 (0, “IP:端口-- 当前客户端:” + 到文本 (当前客户数量))



.子程序 _清空用户_被单击
.局部变量 选择Z, 整数型
.局部变量 当前客户数量, 整数型
.局部变量 i, 整数型


选择Z = 信息框 (“清除将导致客户端断开连接,是否继续清除?”, #确认取消钮 + #警告图标, “断开所有用户?”, )
.如果真 (选择Z = 0)
    当前客户数量 = 取数组成员数 (客户)
    .计次循环首 (当前客户数量, i)
        服务器1.发送数据 (客户 [i], “服务器主动与您断开连接!” + #换行符, )
        服务器1.断开客户 (客户 [i])
    .计次循环尾 ()
    超级列表框1.全部删除 ()
    超级列表框1.刷新显示 ()
.如果真结束





客户端:

客户端

客户端


[Asm] 纯文本查看 复制代码
.版本 2

.程序集 窗口程序集_启动窗口

.子程序 _连接按钮_被单击

.如果 (连接按钮.标题 = “连接”)
    .如果 (客户1.连接 (IP框.内容, 到整数 (端口框.内容)) = 真)
        _启动窗口.标题 = “已连接服务器:” + IP框.内容
        时钟1.时钟周期 = 60000  ' 每分钟发送一次数据保证与服务器连接
        连接按钮.标题 = “断开”
    .否则

        _启动窗口.标题 = “无法连接服务器”
    .如果结束

.否则

    客户1.断开连接 ()
    时钟1.时钟周期 = 0
    _启动窗口.标题 = “未连接服务器”
    连接按钮.标题 = “连接”
.如果结束


.子程序 _发送按钮_被单击

客户1.发送数据 (发送框.内容)
消息框.加入文本 (到文本 (取现行时间 ()) + #换行符)
消息框.加入文本 (“你:” + 发送框.内容 + #换行符 + #换行符)


.子程序 _客户1_数据到达

消息框.加入文本 (到文本 (取现行时间 ()) + #换行符)
消息框.加入文本 (到文本 (客户1.取回数据 ()) + #换行符 + #换行符)


.子程序 _时钟1_周期事件

客户1.发送数据 (“”)



远程聊天(服务端 客户端).zip (88.59 KB, 下载次数: 55)

仅实现了简单通讯功能,如果有不足之处或更好的建议,还请各位大佬指点,我将向您谦虚学习!

免费评分

参与人数 3吾爱币 +9 热心值 +2 收起 理由
xydp + 1 用心讨论,共获提升!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
superboy8286 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

追风营销 发表于 2025-5-23 01:23
AI deepseek也支持易语言 会帮助你编程
HjiaLe 发表于 2025-5-23 11:49
SherlockProel 发表于 2025-5-23 09:26
我一直怀疑微信监控我的聊天记录,很想找一个替代方案

微信聊天记录传输都是加密很多层,另外聊天记录也是保存在电脑,除非网络安装了什么行为管理的机器就可以进行监控
低调三分钟 发表于 2025-5-23 06:11
lili2312280 发表于 2025-5-23 07:40
无不错呀,好东西!!!
xiaoshan1818 发表于 2025-5-23 08:09
局域网聊天用的吗?人才多呀,要是学校机房,不通网,这个是不是无敌
springOfSummer 发表于 2025-5-23 08:32
很不错,谢谢分享
bachelor66 发表于 2025-5-23 08:36
顶源码,学习一下                     
baxk22 发表于 2025-5-23 08:38
xiaoshan1818 发表于 2025-5-23 08:09
局域网聊天用的吗?人才多呀,要是学校机房,不通网,这个是不是无敌

飞秋是局域网里面比较好用的聊天软件
wsck63304521 发表于 2025-5-23 08:45
人才多呀,要是学校机房
SherlockProel 发表于 2025-5-23 09:26
我一直怀疑微信监控我的聊天记录,很想找一个替代方案
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-7-10 20:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表