采用分割文本和写配置项,计次循环等。
我就简单说个大概吧,就不详细说了,代码也随地写,不测试了,大伙们自个测试下吧,下次再说个详细。
首先,说客户端程序,要连接对吧,
代码:
窗口创建完毕下:
客户1.连接(XX.XXX.X,XXX)
延迟(1000)(避免出现错误,如果是简单的IM的话,可以免掉)
客户1.发送数据(“客户进入|”+用户名.标题)
好了,现在转到服务端那边。
代码:
数据到达下:
.版本 2
.局部变量 数据, 文本型, , "0"
.局部变量 IP数据, 文本型, , "0"
数据 = 分割文本 (到文本 (服务器1.取回数据 ()), “|”, )IP数据 = 分割文本 (到文本 (服务器1.取回客户 ()), “:”, )
.版本 2
.如果 (数据 [1] = “客户进入”)写配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, 到文本 (到整数 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, “在线人数”, )) + 1), IP数据[1]“|”+数据 [2])写配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, “在线人数”, 到文本 (到整数 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, “在线人数”, )) + 1))
接下来就是客户离开下的代码了:(这就要用到了计次循环了,这次就删掉了离线的人了)
.版本 2
.局部变量 次数
.局部变量 IP数据, 文本型, , "0"
.局部变量 取回数据, 文本型, , "0"IP数据 = 分割文本 (到文本 (服务器1.取回客户 ()), “:”, )
.版本 2
.计次循环首 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, “在线人数”, ), 次数) 数据 = 分割文本 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, 次数, ), “|”, ) .如果 (数据 [1] = IP数据 [1]) 写配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, 次数, ) .否则
.如果结束
.计次循环尾 ()
接着转入客户进入子程序下了:
服务器1.发送数据(服务器1.取回客户(),“在线数据|”+到文本读入文件 (取运行目录 () + “\在线列表.ini”)),1)
在转回客户端那边咯:(基本上已经完成了)
数据到达子程序下:
.版本 2
.局部变量 数据, 文本型, , "0"
数据 = 分割文本 (到文本 (客户1.取回数据 ()), “|”, )
.版本 2
.如果 (数据 [1] = “在线数据”) 写到文件 (取运行目录 () + “\在线列表.ini”, 到字节集 (数据 [2]))
.版本 2
.计次循环首 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, “在线人数”, ), 次数) 在线列表.加入项目 (读配置项 (取运行目录 () + “\在线列表.ini”, “在线客户”, 次数, ), ).计次循环尾 ()
OK了;大功告成,我本来写好的,后来删了,现在是根据模糊回忆的,所有也就没测试了,可能有些地方会错,大家修改下就行了,如果数据方式不行的话,可以采用文件传输,直接传输到客户端边。 |