TC官方合作论坛

 找回密码
 立即注册
查看: 783|回复: 1

[源码分享] 懂内网的来看看呀!!!

[复制链接]
发表于 2015-6-3 11:32:33 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 花落莫相离 于 2015-6-4 10:39 编辑

  1. <P>//=============================服务端======================================
  2. 变量 服务端句柄=数组(),客户端句柄=数组(),总线程句柄,服务端套接字句柄,客户端套接字句柄
  3. 变量 线程句柄=数组(),端口数组=数组(),大小=0
  4. 功能 服务端()
  5.     变量 客户端IP
  6.     网络初始化()
  7.     服务端套接字句柄=网络套接字(1)
  8.     网络绑定(服务端套接字句柄,9999)
  9.     网络**(服务端套接字句柄,10)
  10.     调试输出("服务端开启成功")
  11.     循环(真)
  12.         客户端套接字句柄=网络接受(服务端套接字句柄,客户端IP)
  13.         编辑框设置文本("编辑框0","服务端开启成功"&"\r\n"&"服务端开放端口:9999"&"\r\n"&"[服务端]-12:客户端IP="&客户端IP)
  14.         如果(客户端套接字句柄>0)
  15.             大小=大小++
  16.             调试输出(客户端IP)
  17.             变量 端口=大小+8000
  18.             变量 key=大小-1
  19.             端口数组[key]=端口
  20.             网络发送(客户端套接字句柄,端口数组[key])
  21.             编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[服务端]-19:服务端开放端口="&端口)//===================
  22.             线程句柄[key]=线程开启("接收消息",端口)
  23.             网络关闭套接字(客户端套接字句柄)
  24.         结束
  25.         等待(100)
  26.     结束
  27. 结束
  28. 功能 接收消息(端口)
  29.     变量 下标=数组值查找(端口数组,端口)
  30.     变量 个数,接收内容,客户端IP
  31.     网络初始化()
  32.     服务端句柄[下标]=网络套接字(1)
  33.     网络绑定(服务端句柄[下标],端口)
  34.     网络**(服务端句柄[下标],10)
  35.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-34:服务端句柄["&下标&"]="&服务端句柄[下标])
  36.     循环(真)
  37.         客户端句柄[下标]=网络接受(服务端句柄[下标],客户端IP)
  38.         调试输出("37-客户端句柄"&客户端句柄)
  39.         调试输出("38-客户端IP"&客户端IP)  
  40.         变量 b=网络接收(客户端句柄[下标],接收内容)
  41.         调试输出(接收内容)
  42.         调试输出(b)
  43.         编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-42:接收内容="&接收内容)
  44.         如果(字符串长度(接收内容)>0)
  45.             调试输出(接收内容)
  46.             选择(接收内容)
  47.                 条件 "关闭"
  48.                 网络关闭套接字(客户端句柄[下标])
  49.                 网络关闭套接字(服务端句柄[下标])
  50.                 数组指定位置删除(线程句柄,下标)
  51.                 数组指定位置删除(端口数组,下标)
  52.                 数组指定位置删除(服务端句柄,下标)
  53.                 数组指定位置删除(客户端句柄,下标)
  54.                 条件 "更新"
  55.                 网络接收文件(客户端句柄[下标],"e:/xxx.txt")
  56.                 条件 "发送"
  57.                                 网络发送文件(客户端句柄[下标],"e:/xxx.txt")
  58.                 编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-57:文件已发送成功")
  59.                 条件 "备份"
  60.                 //                备份()
  61.                 调试输出("备份")
  62.             结束
  63.         结束
  64.         等待(100)
  65.     结束
  66.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收信息]-65:接收消息完成")
  67. 结束
  68. 功能 关闭连接()
  69.     变量 长度= 数组大小(线程句柄)
  70.     如果(长度>0)
  71.         遍历(变量 i=0;i<长度;i++)
  72.             如果(线程句柄[i]!="")
  73.                 线程关闭(线程句柄[i])
  74.             结束
  75.             如果(服务端句柄[i]!="")
  76.                 网络关闭套接字(服务端句柄[i])
  77.             结束
  78.             如果(客户端句柄[i]!="")
  79.                 网络关闭套接字(客户端句柄[i])
  80.             结束
  81.             等待(50)
  82.         结束
  83.         数组清空(线程句柄)
  84.         数组清空(端口数组)
  85.         数组清空(服务端句柄)
  86.         数组清空(客户端句柄)
  87.         长度=0
  88.     结束
  89.     线程关闭(总线程句柄)
  90.     网络关闭套接字(服务端套接字句柄)
  91.     网络关闭套接字(客户端套接字句柄)
  92.     网络关闭()
  93.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[关闭连接]-92:网络已关闭")
  94. 结束</P>
  95. <P>功能 退出_点击()
  96.     关闭连接()
  97.     退出()
  98. 结束
  99. //点击关闭_执行操作
  100. 功能 网络通讯服务端_关闭()
  101.     关闭连接()
  102.     退出()
  103. 结束</P>
  104. <P>功能 服务端_初始化()
  105.     //这里添加你要执行的代码
  106.     总线程句柄=线程开启("服务端","")
  107. 结束</P>
  108. <P> </P>
复制代码

  1. <P>//=========================================客户端===================================================</P>
  2. <P>//=========================================客户端===================================================
  3. 功能 检查网络环境()
  4.     变量 ret=文件是否存在("d:/主机IP.ini")
  5.     如果(ret==1)
  6.         网络初始化()
  7.         变量 套接字句柄=网络套接字(1)
  8.         变量 IP=文件读配置("主机IP","ip","d:\\主机IP.ini")
  9.         变量 连接状态=网络连接(套接字句柄,IP,9999)
  10.         调试输出("连接状态="&连接状态)
  11.         编辑框设置文本("编辑框0","客户端成功开启"&"\r\n"&"[检查网络环境]-9:客户端成功连接端口9999")
  12.         编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[检查网络环境]-10:客户端连接状态="&连接状态)
  13.         如果(连接状态==1)
  14.             建立连接(IP)
  15.         否则
  16.             文件删除("d:/主机IP.ini")
  17.             确定主机()
  18.         结束
  19.         网络关闭套接字(套接字句柄)
  20.     否则
  21.         确定主机()
  22.     结束
  23.     线程关闭(线程句柄1)
  24. 结束
  25. //127.0.0.1
  26. 功能 确定主机()
  27.     控件创建("标签","标签1","",0,0,790,360,"背景颜色:ffffff","",控件获取句柄("编辑框0"))
  28.     控件创建("标签","标签2","连接中请等待...",250,160,360,20,"背景颜色:ffffff","",控件获取句柄("标签1"))
  29.     变量 内容=标签获取文本("标签2")
  30.     网络初始化()
  31.     变量 套接字句柄=网络套接字(1)
  32.     遍历(变量 i = 0; i < 50; i++)
  33.         变量 连接状态=网络连接(套接字句柄,"127.0.0."&i,9999)
  34.         如果(连接状态==1)
  35.             标签设置文本("标签2","网络环境初始化完成")
  36.             等待(100)
  37.             文件写配置("主机IP","ip","127.0.0."&i,"d:\\主机IP.ini")
  38.             控件销毁("标签1")
  39.             等待(100)
  40.             建立连接("127.0.0."&i)
  41.             编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[确定主机]-39:服务端主机IP="&"127.0.0."&i)
  42.             跳出
  43.         结束
  44.         等待(500)
  45.     结束
  46.     网络关闭套接字(套接字句柄)
  47.    
  48. 结束</P>
  49. <P>功能 读取文件()
  50.     变量 内容=文件读取内容("d:\\xxx.txt")
  51.     //    编辑框设置文本("编辑框0",内容)
  52.     文件关闭("d:/xxx.txt")
  53. 结束</P>
  54. <P>变量 客户端套接字句柄,接收到端口=0,线程句柄2,线程句柄1
  55. 功能 接收消息(连接IP)
  56.     //这里添加你要执行的代码
  57.     变量 接收到的内容
  58.     网络初始化()
  59.     客户端套接字句柄=网络套接字(1)
  60.     网络连接(客户端套接字句柄,连接IP,接收到端口)
  61.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-61:客户端接收到端口="&接收到端口&"\r\n"&"新端口连接成功")
  62.     变量 a=网络发送(客户端套接字句柄,"发送")
  63.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-63:消息发送状态="&a)
  64.     等待(200)
  65.     变量 b=网络接收文件(客户端套接字句柄,"d:/xxx.txt")
  66.     等待(200)
  67.     //    读取文件()
  68.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-68:文件接收状态="&b)
  69. 结束
  70. 功能 建立连接(连接IP)
  71.     网络初始化()
  72.     客户端套接字句柄=网络套接字(1)
  73.     变量 连接状态=网络连接(客户端套接字句柄,连接IP,9999)
  74.     调试输出("连接IP="&连接IP)
  75.     如果(连接状态==1)
  76.         网络接收(客户端套接字句柄,接收到端口)
  77.         如果(接收到端口>=8000)
  78.             线程句柄2=线程开启("接收消息",连接IP)
  79.         结束
  80.     结束
  81.     网络关闭套接字(客户端套接字句柄)
  82.     编辑框设置文本("编辑框0",编辑框获取文本("编辑框0")&"\r\n"&"[接收消息(连接IP)]-82:客户端和主机成功建立连接")
  83. 结束</P>
  84. <P>功能 关闭连接()
  85.     线程关闭(线程句柄2)
  86.     网络发送(客户端套接字句柄,"关闭")
  87.     等待(50)
  88.     网络关闭套接字(客户端套接字句柄)
  89.     接收到端口=0
  90.     网络关闭()
  91. 结束
  92. //点击关闭_执行操作
  93. 功能 客户端_关闭()
  94.     关闭连接()
  95.     退出()
  96. 结束
  97. 功能 客户端_初始化()
  98.     //这里添加你要执行的代码
  99.     线程句柄1=线程开启("检查网络环境","")
  100. 结束</P>
  101. <P>功能 退出_点击()
  102.     //这里添加你要执行的代码
  103.     关闭连接()
  104.     退出()
  105. 结束
  106. </P>
复制代码
这点东西纠结了一个星期,问题解决了,没办法删帖,索性就开源吧{:soso_e113:}
让纠结在内网上的同学有个参考,我是菜鸟,大神可以无视
回复

使用道具 举报

 楼主| 发表于 2015-6-4 10:48:32 | 显示全部楼层
本帖最后由 花落莫相离 于 2015-6-4 10:52 编辑


补个运行界面,本机运行效果
我这个是用于内网文件传输的,要是用于聊天,得需要自己改一部分内容.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-17 03:44 , Processed in 0.033975 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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