|

分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |
分享一个客户Duan和服务器端两台电脑相互发消息的例子 窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 是否连接 | 逻辑型 | | 文件号 | 整数型 | | 总大小 | 整数型 | | 收到数据 | 字节集 | | 传送数据 | 字节集 | | 已经上传大小 | 整数型 | | 总上传大小 | 整数型 | | 当前操作 | 文本型 | |
是否连接 = 假 当前操作 = “”句柄编辑框. 获取焦点 ()端口编辑框.内容 = “8818” 如果真 (是否连接 = 假) 如果 (服务器. 启动 (到数值 (端口编辑框.内容 ), &服务器处理函数, 假) = 真)  _启动窗口.标题 = “服务器启动成功!”  按钮1.禁止 = 真   按钮2.禁止 = 假   是否连接 = 真   _启动窗口.标题 = “服务器启动失败”  是否连接 = 假    变量名 | 类 型 | 静态 | 数组 | 备 注 | 连接状态 | 整数型 | | | 客户句柄 | 整数型 | | | 客户地址 | 文本型 | | | 请求代码 | 文本型 | | | 收到文本 | 文本型 | | | 当前日期 | 文本型 | | | 处理文件信息 | 文本型 | | 0 | 文件名 | 文本型 | | | 后缀名 | 文本型 | | |
连接状态 = 服务器. 取消息类型 (消息地址 )服务器. 取客户句柄 (消息地址, 客户句柄 )服务器. 取客户IP (客户句柄, 客户地址 )服务器. 取请求文本 (消息地址, 请求代码, 收到文本 )句柄编辑框.内容 = 到文本 (客户句柄 )编辑框1.内容 = 收到文本 当前日期 = 到文本 (取年份 (取现行时间 ()) ) + “-” + 取文本右边 (“0” + 到文本 (取月份 (取现行时间 ()) ), 2 ) + “-” + 取文本右边 (“0” + 到文本 (取日 (取现行时间 ()) ), 2 ) + “” + 取文本右边 (“0” + 到文本 (取小时 (取现行时间 ()) ), 2 ) + “” + 取文本右边 (“0” + 到文本 (取分钟 (取现行时间 ()) ), 2 ) + “ ” + 取文本右边 (“0” + 到文本 (取秒 (取现行时间 ()) ), 2 )编辑框1.内容 = 收到文本 判断 (连接状态 = -1 ) _启动窗口.标题 = “客户连接到服务器错误!” 判断 (连接状态 = 0 ) _启动窗口.标题 = “有客户连接到服务器!” 判断 (连接状态 = 1 ) _启动窗口.标题 = “客户断开与服务端!” 判断 (连接状态 = 2 ) _启动窗口.标题 = “客户Duan发送数据到服务器!” 判断 (取文本左边 (收到文本, 5 ) = “SCWJ|”)  当前操作 = “上传文件”  编辑框1. 加入文本 (“当前操作:” + 当前操作 + #换行符 ) 处理文件信息 = 分割文本 (收到文本, “|”, ) 总大小 = 到数值 (处理文件信息 [2 ]) 文件名 = 处理文件信息 [3 ]  通用对话框1.类型 = 1  后缀名 = 取文本右边 (文件名, 取文本长度 (文件名 ) - 倒找文本 (文件名, “”, , 假))  通用对话框1.文件名 = 文件名  通用对话框1.过滤器 = “保存文件(*” + 后缀名 + “)” 通用对话框1.默认文件后缀 = 后缀名  如果真 (通用对话框1. 打开 ())   文件号 = 打开文件 (通用对话框1.文件名, 6, 3 )  进度条1.位置 = 0   已经上传大小 = 0   服务器. 发送文本 (客户句柄, “SCWJ|开始发送文件”)  判断 (取文本左边 (收到文本, 5 ) = “SCWJ|”)  编辑框1. 加入文本 (当前日期 + #换行符 ) 编辑框1. 加入文本 (“消息地址:” + 到文本 (消息地址 ) + #换行符 ) 编辑框1. 加入文本 (“连接状态:” + 到文本 (连接状态 ) + #换行符 ) 编辑框1. 加入文本 (“客户句柄:” + 到文本 (客户句柄 ) + #换行符 ) 编辑框1. 加入文本 (“客户地址:” + 客户地址 + #换行符 ) 编辑框1. 加入文本 (“请求代码:” + 请求代码 + #换行符 ) 编辑框1. 加入文本 (“收到文本:” + 取文本右边 (收到文本, 取文本长度 (收到文本 ) - 5 ) + #换行符 + #换行符 ) 判断 (当前操作 = “上传文件”) 服务器. 取请求字节集 (消息地址, 请求代码, 收到数据 ) 已经上传大小 = 已经上传大小 + 取字节集长度 (收到数据 ) 进度条1.位置 = 已经上传大小 ÷ 总大小 × 100  _启动窗口.标题 = “总大小:” + 到文本 (总大小 ÷ 1000 ) + “KB” + 到文本 (已经上传大小 ÷ 1000 ) + “KB” + “当前进度:” + 到文本 (进度条1.位置 ) + “%” 如果真 (已经上传大小 = 总大小 )  _启动窗口.标题 = “文件上传完毕”  当前操作 = “”  编辑框1. 加入文本 (“当前操作” + 当前操作 + #换行符 )  服务器. 发送文本 (客户句柄, “XZXX|文件发送完成”) 如果真 (写出字节集 (文件号, 收到数据 ))   服务器. 发送文本 (客户句柄, “SCWJ|正在发送文件”) 判断 (取文本左边 (收到文本, 5 ) = “XZWJ|”)  已经上传大小 = 已经上传大小 + 取字节集长度 (传送数据 )  传送数据 = 读入字节集 (文件号, 100000 )  总上传大小 = 已经上传大小 ÷ 总大小 × 100   _启动窗口.标题 = “上传进度” + 到文本 (总上传大小 ) + “%”  进度条1.位置 = 总上传大小   服务器. 发送字节集 (到整数 (句柄编辑框.内容 ), 传送数据 )  编辑框1. 加入文本 (“收到文本:” + 取文本右边 (收到文本, 取文本长度 (收到文本 ) - 5 ) + #换行符 + #换行符 )        如果真 (是否连接 = 真) 如果 (按钮1.禁止 = 真)  服务器. 停止 ()  _启动窗口.标题 = “服务器停止服务”  是否连接 = 假   按钮1.禁止 = 假   按钮2.禁止 = 真  信息框 (“禁止连接失败”, 0, , )   如果真 (是否连接 = 假) 信息框 (“未开始服务器,请先开启服务器!”, #错误图标, “连接提示”, ) 返回 () 如果真 (编辑框2.内容 = “”) 信息框 (“发送内容不能为空!”, #错误图标, “错误提示”, ) 返回 () 如果真 (句柄编辑框.内容 = “”) 信息框 (“发送地址不能为空!”, #错误图标, “错误提示”, ) 返回 ()服务器.发送文本 (到整数 (句柄编辑框.内容), “XZXX|” + 编辑框2.内容)编辑框2.内容 = “”|
_编辑框2_按下某键 | 逻辑型 | | |
键代码 | 整数型 | | | | 功能键状态 | 整数型 | | | |
如果真 (键代码 = #回车键 ) 如果真 (编辑框2.内容 ≠ “”)  编辑框2. 获取焦点 ()   变量名 | 类 型 | 静态 | 数组 | 备 注 | 分割文件名 | 文本型 | | 0 | 文件名 | 文本型 | | |
如果真 (是否连接 = 假) 信息框 (“为开启服务器,请先开启服务器!”, #错误图标, “连接提示”, ) 返回 () 如果真 (句柄编辑框.内容 = “”) 信息框 (“发送地址不能为空!”, #错误图标, “错误提示”, ) 返回 ()通用对话框1.类型 = 0
通用对话框1.过滤器 = “所有文件(*.*)” 如果真 (通用对话框1. 打开 ())  文件号 = 打开文件 (通用对话框1.文件名, 6, 3 ) 总大小 = 取文件尺寸 (通用对话框1.文件名 ) 分割文件名 = 分割文本 (通用对话框1.文件名, “\”, ) 文件名 = 分割文件名 [取数组成员数 (分割文件名 )] 服务器. 发送文本 (到整数 (句柄编辑框.内容 ), “服务器” + 到文本 (总大小 ) + “|” + 文件名 ) _启动窗口.标题 = 通用对话框1.文件名  已经上传大小 = 0  进度条1.位置 = 0  总上传大小 = 0 
.版本 2
.支持库 sock
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.子程序 _按钮1_被单击
.如果 (客户1.连接 (编辑框1.内容, 19732) = 真)
信息框 (“成功”, 0, , )
客户1.发送数据 (取本机名 ())
.否则
信息框 (“失败”, 0, , )
.如果结束
.子程序 _客户1_数据到达
编辑框2.加入文本 (到文本 (取现行时间 ()) + #换行符)
编辑框2.加入文本 (到文本 (客户1.取回数据 ()) + #换行符 + #换行符)
.子程序 _按钮2_被单击
客户1.发送数据 (编辑框3.内容)
.子程序 _客户1_连接断开
信息框 (“服务器连接已断开!”, 0, , )
.子程序 _按钮3_被单击
客户1.断开连接 ()
|
评分
-
查看全部评分
|