马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 花落莫相离 于 2015-6-4 10:39 编辑
- <P>//=============================服务端======================================
- 变量 服务端句柄=数组(),客户端句柄=数组(),总线程句柄,服务端套接字句柄,客户端套接字句柄
- 变量 线程句柄=数组(),端口数组=数组(),大小=0
- 功能 服务端()
- 变量 客户端IP
- 网络初始化()
- 服务端套接字句柄=网络套接字(1)
- 网络绑定(服务端套接字句柄,9999)
- 网络**(服务端套接字句柄,10)
- 调试输出("服务端开启成功")
- 循环(真)
- 客户端套接字句柄=网络接受(服务端套接字句柄,客户端IP)
- 编辑框设置文本("编辑框0","服务端开启成功"&"\r\n"&"服务端开放端口:9999"&"\r\n"&"[服务端]-12:客户端IP="&客户端IP)
- 如果(客户端套接字句柄>0)
- 大小=大小++
- 调试输出(客户端IP)
- 变量 端口=大小+8000
- 变量 key=大小-1
- 端口数组[key]=端口
- 网络发送(客户端套接字句柄,端口数组[key])
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[服务端]-19:服务端开放端口="&端口)//===================
- 线程句柄[key]=线程开启("接收消息",端口)
- 网络关闭套接字(客户端套接字句柄)
- 结束
- 等待(100)
- 结束
- 结束
- 功能 接收消息(端口)
- 变量 下标=数组值查找(端口数组,端口)
- 变量 个数,接收内容,客户端IP
- 网络初始化()
- 服务端句柄[下标]=网络套接字(1)
- 网络绑定(服务端句柄[下标],端口)
- 网络**(服务端句柄[下标],10)
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-34:服务端句柄["&下标&"]="&服务端句柄[下标])
- 循环(真)
- 客户端句柄[下标]=网络接受(服务端句柄[下标],客户端IP)
- 调试输出("37-客户端句柄"&客户端句柄)
- 调试输出("38-客户端IP"&客户端IP)
- 变量 b=网络接收(客户端句柄[下标],接收内容)
- 调试输出(接收内容)
- 调试输出(b)
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-42:接收内容="&接收内容)
- 如果(字符串长度(接收内容)>0)
- 调试输出(接收内容)
- 选择(接收内容)
- 条件 "关闭"
- 网络关闭套接字(客户端句柄[下标])
- 网络关闭套接字(服务端句柄[下标])
- 数组指定位置删除(线程句柄,下标)
- 数组指定位置删除(端口数组,下标)
- 数组指定位置删除(服务端句柄,下标)
- 数组指定位置删除(客户端句柄,下标)
- 条件 "更新"
- 网络接收文件(客户端句柄[下标],"e:/xxx.txt")
- 条件 "发送"
- 网络发送文件(客户端句柄[下标],"e:/xxx.txt")
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-57:文件已发送成功")
- 条件 "备份"
- // 备份()
- 调试输出("备份")
- 结束
- 结束
- 等待(100)
- 结束
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-65:接收消息完成")
- 结束
- 功能 关闭连接()
- 变量 长度= 数组大小(线程句柄)
- 如果(长度>0)
- 遍历(变量 i=0;i<长度;i++)
- 如果(线程句柄[i]!="")
- 线程关闭(线程句柄[i])
- 结束
- 如果(服务端句柄[i]!="")
- 网络关闭套接字(服务端句柄[i])
- 结束
- 如果(客户端句柄[i]!="")
- 网络关闭套接字(客户端句柄[i])
- 结束
- 等待(50)
- 结束
- 数组清空(线程句柄)
- 数组清空(端口数组)
- 数组清空(服务端句柄)
- 数组清空(客户端句柄)
- 长度=0
- 结束
- 线程关闭(总线程句柄)
- 网络关闭套接字(服务端套接字句柄)
- 网络关闭套接字(客户端套接字句柄)
- 网络关闭()
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[关闭连接]-92:网络已关闭")
- 结束</P>
- <P>功能 退出_点击()
- 关闭连接()
- 退出()
- 结束
- //点击关闭_执行操作
- 功能 网络通讯服务端_关闭()
- 关闭连接()
- 退出()
- 结束</P>
- <P>功能 服务端_初始化()
- //这里添加你要执行的代码
- 总线程句柄=线程开启("服务端","")
- 结束</P>
- <P> </P>
复制代码
- <P>//=========================================客户端===================================================</P>
- <P>//=========================================客户端===================================================
- 功能 检查网络环境()
- 变量 ret=文件是否存在("d:/主机IP.ini")
- 如果(ret==1)
- 网络初始化()
- 变量 套接字句柄=网络套接字(1)
- 变量 IP=文件读配置("主机IP","ip","d:\\主机IP.ini")
- 变量 连接状态=网络连接(套接字句柄,IP,9999)
- 调试输出("连接状态="&连接状态)
- 编辑框设置文本("编辑框0","客户端成功开启"&"\r\n"&"[检查网络环境]-9:客户端成功连接端口9999")
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[检查网络环境]-10:客户端连接状态="&连接状态)
- 如果(连接状态==1)
- 建立连接(IP)
- 否则
- 文件删除("d:/主机IP.ini")
- 确定主机()
- 结束
- 网络关闭套接字(套接字句柄)
- 否则
- 确定主机()
- 结束
- 线程关闭(线程句柄1)
- 结束
- //127.0.0.1
- 功能 确定主机()
- 控件创建("标签","标签1","",0,0,790,360,"背景颜色:ffffff","",控件获取句柄("编辑框0"))
- 控件创建("标签","标签2","连接中请等待...",250,160,360,20,"背景颜色:ffffff","",控件获取句柄("标签1"))
- 变量 内容=标签获取文本("标签2")
- 网络初始化()
- 变量 套接字句柄=网络套接字(1)
- 遍历(变量 i = 0; i < 50; i++)
- 变量 连接状态=网络连接(套接字句柄,"127.0.0."&i,9999)
- 如果(连接状态==1)
- 标签设置文本("标签2","网络环境初始化完成")
- 等待(100)
- 文件写配置("主机IP","ip","127.0.0."&i,"d:\\主机IP.ini")
- 控件销毁("标签1")
- 等待(100)
- 建立连接("127.0.0."&i)
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[确定主机]-39:服务端主机IP="&"127.0.0."&i)
- 跳出
- 结束
- 等待(500)
- 结束
- 网络关闭套接字(套接字句柄)
-
- 结束</P>
- <P>功能 读取文件()
- 变量 内容=文件读取内容("d:\\xxx.txt")
- // 编辑框设置文本("编辑框0",内容)
- 文件关闭("d:/xxx.txt")
- 结束</P>
- <P>变量 客户端套接字句柄,接收到端口=0,线程句柄2,线程句柄1
- 功能 接收消息(连接IP)
- //这里添加你要执行的代码
- 变量 接收到的内容
- 网络初始化()
- 客户端套接字句柄=网络套接字(1)
- 网络连接(客户端套接字句柄,连接IP,接收到端口)
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-61:客户端接收到端口="&接收到端口&"\r\n"&"新端口连接成功")
- 变量 a=网络发送(客户端套接字句柄,"发送")
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-63:消息发送状态="&a)
- 等待(200)
- 变量 b=网络接收文件(客户端套接字句柄,"d:/xxx.txt")
- 等待(200)
- // 读取文件()
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-68:文件接收状态="&b)
- 结束
- 功能 建立连接(连接IP)
- 网络初始化()
- 客户端套接字句柄=网络套接字(1)
- 变量 连接状态=网络连接(客户端套接字句柄,连接IP,9999)
- 调试输出("连接IP="&连接IP)
- 如果(连接状态==1)
- 网络接收(客户端套接字句柄,接收到端口)
- 如果(接收到端口>=8000)
- 线程句柄2=线程开启("接收消息",连接IP)
- 结束
- 结束
- 网络关闭套接字(客户端套接字句柄)
- 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-82:客户端和主机成功建立连接")
- 结束</P>
- <P>功能 关闭连接()
- 线程关闭(线程句柄2)
- 网络发送(客户端套接字句柄,"关闭")
- 等待(50)
- 网络关闭套接字(客户端套接字句柄)
- 接收到端口=0
- 网络关闭()
- 结束
- //点击关闭_执行操作
- 功能 客户端_关闭()
- 关闭连接()
- 退出()
- 结束
- 功能 客户端_初始化()
- //这里添加你要执行的代码
- 线程句柄1=线程开启("检查网络环境","")
- 结束</P>
- <P>功能 退出_点击()
- //这里添加你要执行的代码
- 关闭连接()
- 退出()
- 结束
- </P>
复制代码 这点东西纠结了一个星期,问题解决了,没办法删帖,索性就开源吧{:soso_e113:}
让纠结在内网上的同学有个参考,我是菜鸟,大神可以无视
|