TC官方合作论坛
标题:
懂内网的来看看呀!!!
[打印本页]
作者:
花落莫相离
时间:
2015-6-3 11:32
标题:
懂内网的来看看呀!!!
本帖最后由 花落莫相离 于 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>
复制代码
这点东西纠结了一个星期,问题解决了,没办法删帖,索性就开源吧
让纠结在内网上的同学有个参考,我是菜鸟,大神可以无视
作者:
花落莫相离
时间:
2015-6-4 10:48
本帖最后由 花落莫相离 于 2015-6-4 10:52 编辑
[attach]20671[/attach]
补个运行界面,本机运行效果
我这个是用于内网文件传输的,要是用于聊天,得需要自己改一部分内容.
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1