精易论坛

标题: 易语言服务器、客户Duan组件实现外网远程通信【纯源码】 [打印本页]

作者: 无药可救的锤子    时间: 2016-4-18 10:36
标题: 易语言服务器、客户Duan组件实现外网远程通信【纯源码】
第一次在源码区发帖,不是标题党!
代码很简单,没啥好讲的,就是想分享下这个其中过程,希望对和我一样的小白有些帮助。
之前一直对两台电脑之间的互相通信很感兴趣,然后就发现了易语言的服务器和客户Duan组件,客户Duan设置服务端的IP地址和端口号就可以实现“远程”互相对话,十分简单方便。然而,这两个组件只能通过IP地址连接,服务端和客户Duan的地址必须互相ping通才能实现对话,所以,仅靠这俩组件的话,他们的 功能就会被限制在局域网里面,不能实现真正意义上的远程。
那咋办呢?
幸好,我有一个可以上网的迅捷的路由器,一台连接路由器的电脑,我可以用路由器的端口映射功能,把这台电脑的IP地址映射到路由器的外网IP上,把这台电脑当做主机,易语言的服务端放在这台主机上。这样的话,我在任意一台电脑上运行客户Duan,只要输入路由器的公网IP和端口,就可以连接到这台主机上的服务端,不就可以实现远程对话了吗?理想是丰满的,现实是骨感的,在尝试了各种端口和映射后,服务端和客户Duan就是连接不了,最后偶然间发现,这个路由器的WAN口IP地址就是那个“公网IP”地址竟然是在不停的变化的……5分钟前这个地址是12.0.33.0 , 5分钟后它可能就是33.21.0.4了!这么个调皮的地址怎么可能连接的了呢?找到问题的原因了,得想个办法把这个调皮的地址控制一下,让它控制在我的手心里。
于是,我找到了花生壳。
路由器的WAN口IP地址是动态的,无时无刻都在变化,而花生壳拥有动态域名绑定功能,注册账号后,它会赠送一个域名,用花生壳的账号登录路由器后,它会绑定路由器的动态IP地址,绑定后就会进行动态解析,无论路由器的IP地址如何变化,只要连接这个域名地址就可以连接路由器,也就连接了这台主机,这样一来,服务端和客户Duan就可以顺利地对话了!这次,理论的可行性非常高,而且我在网上也找到了不少成功案列,所以感觉这下应该没差了。注册花生壳账号,获得域名,登录路由器,成功,映射端口,成功,开启DMZ主机,成功,ping花生壳域名,成功,连接服务端客户Duan,失败!!!……
我开始怀疑人生。
究竟是哪儿出问题了呢?其实步骤哪儿也没问题,问题是我所谓的路由器的“公网IP”并非真正的公网IP。我的路由器接的是移动的宽带,移动让咱小老百姓安安心心的上网冲浪,却没舍得给咱一个公网IP,路由器的WAN口地址实则也是移动的某台交换机转接分配下来的“局域网IP”而已,花生壳再怎么解析,解析来的地址在公网上都是找不到的。网上搜罗了一下,有人建议去打移动客服投诉,强烈要求他们映射一个地址下来,嗨!我想人家还不一定愿意搭理你。没有办法,动态域名这个方案放弃。
随后一段时间开始沉寂,中间尝试过用FTP空间的方式进行数据交换,用的网上找的免费空间,但是效果不理想,各种上传下载失败而且不稳定,我还在求助区发过一篇求助帖,回复很少,几个易友挺热心,可惜没有解决问题,真正的高手应该都不愿意搭理我们这些小白问题吧,所以就放弃了。
最后,我发现了云主机这个东西。
网上搜罗了一下还挺多,而且有免费的云主机,看了下介绍:拥有公网IP地址,支持端口映射……这个不就是我想要的吗!虽然硬件配置惨不忍睹,但是运行一个服务端程序还是绰绰有余的,于是果断去注册申请了一个云主机,把服务端放进去,开一个端口,客户Duan连接成功!我在虚拟机和其它联网的电脑上都测试过,确认是可行的。至此,外网远程通信对话宣告成功。
也许看到最后,有人会觉得这样是不是太简单了,弄个云主机就把一切都搞定了。我想说的是,这个远程的实现确实很简单,就是一个公网IP和端口,对于高手来说可能就是分分钟的事情,而我前前后后焦头烂额了一个星期,从没有一点儿头绪到慢慢找准方向,这是一个过程,在这个过程里学到的东西,远远比这个结果更重要。
云主机地址打码了,网上可以找打很多免费的云主机,我就不说了。源码最后送上,加了其它一些小功能,参考了论坛里一些易友们的思路,很有意思。


服务端客户Duan.zip

14.55 KB, 下载次数: 2151, 下载积分: 精币 -2 枚


作者: 无药可救的锤子    时间: 2016-4-18 10:45
标题: 传一下测试图
C:\Users\Administrator\Desktop\测试成功.jpg
作者: 刘海斌    时间: 2016-4-18 11:55
这个我也做过类似的,当时还拿来卖了,写了一堆功能,现在想想- -当时咋那么无聊,一个也才卖50- -
作者: 北国啊    时间: 2016-4-18 14:20
学习一下 谢谢楼主分享
作者: pkko005    时间: 2016-4-18 16:47
无药可救的锤子 发表于 2016-4-18 10:45

之前我测试过 服务端运行在 VPS分配的公网IP可以连接  但是服务端发送数据给客户Duan好像不行 不知道是不是NAT原因(客户Duan在虚拟机运行 是NAT网络)
作者: zyfllz    时间: 2016-4-18 16:49
  到了用户这里的ip地址不知道是多少级的了,所以,必须让你的设备邦定固定ip,宽带服务商是不可能做到的.
你写的这个东西,经过努力,收获肯定是满满的
作者: 春风二月    时间: 2016-4-18 17:42
支持开源、、、
作者: LySyhd    时间: 2016-4-19 03:11
支持楼主下,辛苦 了
作者: 小小的世界    时间: 2016-4-19 09:46
非常给力!感谢分享。
作者: nr4dyz    时间: 2016-4-19 13:52
辛苦了  其实买台服务器就可以了  一个月就100来块钱
作者: hahayzl    时间: 2016-4-19 15:39
顶顶顶顶顶顶顶顶顶
作者: 山寨夫人    时间: 2016-4-19 22:23
挺不错
作者: shengtian4    时间: 2016-4-19 23:23
求指教,你那个客户Duan,连接旁边有2个编辑框,后一个是端口,前一个输入IP?还是输入花生壳的域名?
作者: 无药可救的锤子    时间: 2016-4-20 08:03
shengtian4 发表于 2016-4-19 23:23
求指教,你那个客户Duan,连接旁边有2个编辑框,后一个是端口,前一个输入IP?还是输入花生壳的域名?

花生壳和IP都可以填写,那个编辑框里面填写的就是服务端的地址。
作者: shengtian4    时间: 2016-4-20 09:13
无药可救的锤子 发表于 2016-4-20 08:03
花生壳和IP都可以填写,那个编辑框里面填写的就是服务端的地址。

你用的是哪个云主机?我用挂机宝似乎不行。另外,端口就是我设置的服务器组件的端口么?
作者: 无药可救的锤子    时间: 2016-4-20 09:33
shengtian4 发表于 2016-4-20 09:13
你用的是哪个云主机?我用挂机宝似乎不行。另外,端口就是我设置的服务器组件的端口么?

云主机只要有公网IP就行了,另外云主机端口也需要打开,服务器组件的端口必须和云主机开放的端口一致。云主机端口可以自己手动开启,某些云主机端口可能需要向服务商申请才能开启。
作者: shengtian4    时间: 2016-4-20 11:08
nr4dyz 发表于 2016-4-19 13:52
辛苦了  其实买台服务器就可以了  一个月就100来块钱

求指教,租个阿里云服务器是可以,但是那个能运行易语言的服务器程序么?或者说,如何让阿里云运行用易语言写的服务器程序呢?
作者: nr4dyz    时间: 2016-4-20 21:28
shengtian4 发表于 2016-4-20 11:08
求指教,租个阿里云服务器是可以,但是那个能运行易语言的服务器程序么?或者说,如何让阿里云运行用易语 ...

买个服务器 做好端口策略
作者: nr4dyz    时间: 2016-4-20 21:28
shengtian4 发表于 2016-4-20 11:08
求指教,租个阿里云服务器是可以,但是那个能运行易语言的服务器程序么?或者说,如何让阿里云运行用易语 ...

买个服务器 做好端口策略
作者: shengtian4    时间: 2016-4-21 14:41
nr4dyz 发表于 2016-4-20 21:28
买个服务器 做好端口策略

但是我的易语言服务器软件怎么运行呢?我的易语言服务器软件里面有一些必要的运算的
作者: 31802    时间: 2016-4-21 18:09
我以前也是研究了一个多星期,后来就不了了之了。今天偶然看到这个帖子,可谓是豁然开朗。谢谢哥们
作者: nr4dyz    时间: 2016-4-21 22:02
shengtian4 发表于 2016-4-21 14:41
但是我的易语言服务器软件怎么运行呢?我的易语言服务器软件里面有一些必要的运算的

启动一个线程 几秒一个循环 接收客户Duan的信息
作者: 天德传媒    时间: 2016-4-22 09:14
app注册机、抓包找删除此帖,价格美丽
作者: 轩辕大魔王    时间: 2016-4-22 16:53
不错不错,学习一下
作者: qq13831141621    时间: 2016-4-24 20:40
好东西啊
作者: 157034816    时间: 2016-4-25 19:07
加油,支持楼主
作者: duchangchao    时间: 2016-4-26 18:07
加油,支持楼主
作者: mood100    时间: 2016-4-26 18:14
学习了,感谢发呢系那个
作者: 山寨夫人    时间: 2016-4-28 22:59
支持开源分享
作者: 顾优紫    时间: 2016-5-2 04:36
云主机地址打码了
作者: 山寨夫人    时间: 2016-5-6 19:01
学习学习一下
作者: qq616306803    时间: 2016-5-7 10:11
还有一个方法免费的!下载向日葵远程软件注册账号添加一个VPN会该你分配一个IP你可以直接连那个IP单同事向日葵必须运行~~广电宽带测试成功稳定
作者: 模拟小圣    时间: 2016-5-7 16:14
下来学习啦。我要好好学习好好
作者: q941010455    时间: 2016-5-12 13:46
好东西 不错 拿走学习下
作者: sadamu999    时间: 2016-5-24 09:19
我等虽然水平有限,但是这种精神值得表扬!!!
作者: yupor5    时间: 2016-5-27 09:00
有没有好的远程,,,防崩溃
作者: 我主易语言    时间: 2016-6-6 21:39
很有意思。
作者: By小邱    时间: 2016-6-19 16:21
666............................
作者: 1448593083    时间: 2016-7-16 17:38
好贴,看完了,受教了
作者: 2485317120    时间: 2016-8-14 11:42
感谢开源、、
作者: 2485317120    时间: 2016-8-14 11:43
感谢开源..
作者: youyaang    时间: 2016-8-24 22:23
好贴,看完了,受教了,谢谢
作者: hezeyu    时间: 2016-10-11 10:42
看看这个怎么样
作者: 唐双祁    时间: 2016-11-28 19:06
看看这个怎么样
作者: 贱卖青春    时间: 2016-12-7 18:06
支持一下哈哈
作者: q47719830    时间: 2016-12-10 19:11
太好了,正需要
作者: act    时间: 2016-12-18 20:20
感谢分享,非常需要
作者: ponlycrazy    时间: 2016-12-20 20:38
111111111111111111
作者: wojinz    时间: 2017-1-8 08:35
Duan组件实现外网远程通信
作者: 453528889    时间: 2017-1-22 18:37
必须火啊···
作者: 若希    时间: 2017-2-7 14:50
必须火啊···
作者: bbjam    时间: 2017-2-13 13:48
很好的案例哦
作者: 肖雨露    时间: 2017-2-17 20:03
谢谢分享。。。。。
作者: xiaomielaidi    时间: 2017-3-16 16:20
支持一下,最喜欢看这种帖子
作者: 我艹天成    时间: 2017-3-20 16:48
好,支持老板
作者: 18010549834    时间: 2017-4-5 17:45
6666666666666
作者: 太行山搬书    时间: 2017-5-14 12:44
6666666666666666666666学习
作者: 118184017    时间: 2017-5-14 12:52
你不知道花生壳是可以映射端口的吗?
作者: 太行山搬书    时间: 2017-5-14 19:03
楼主我今天碰到你一样的情况了。电信的。wan口也是动态,麻烦你可推荐下你的免费云主机吗?谢谢!!!!!!!
作者: 太行山搬书    时间: 2017-5-15 09:00
118184017 发表于 2017-5-14 12:52
你不知道花生壳是可以映射端口的吗?

楼主意思好像是wan口获取的IP不是公网的

补充内容 (2017-5-15 14:15):
你好, 这个用怎么弄呀?我昨天也碰到这个问题,客户组件不能访问外网
作者: 太行山搬书    时间: 2017-5-15 14:14
太行山搬书 发表于 2017-5-15 09:00
楼主意思好像是wan口获取的IP不是公网的

你好, 这个用怎么弄呀?我昨天也碰到这个问题,客户组件不能访问外网
作者: luoye2016    时间: 2017-5-31 01:13
下载学习学习
作者: 吾爱编程mm    时间: 2017-5-31 10:55
我就想问问,那个云主机好?
作者: 吾爱编程mm    时间: 2017-5-31 11:09
qq616306803 发表于 2016-5-7 10:11
还有一个方法免费的!下载向日葵远程软件注册账号添加一个VPN会该你分配一个IP你可以直接连那个IP单同事向 ...

貌似要钱,,,,
作者: 1308717135    时间: 2017-6-4 15:59
下载了,支持下
作者: a609860312    时间: 2017-6-5 07:45
支持下。。。。。。支持下
作者: gxs0320    时间: 2017-6-7 22:30
下来看看6666666666666
作者: 8008    时间: 2017-6-8 14:43
支持下。。。。。。支持下
作者: jackson1678    时间: 2017-7-13 09:08
支持下看下,参考
作者: 梦之情    时间: 2017-7-25 20:30
也是移动网络 路由器设置了无数遍端口映射,代码调了无数次。折腾了两天直到看到了楼主的帖子,不知道怎么表达我的心情。太感谢楼主了。给了个方向。
作者: mzhsohu    时间: 2017-7-25 21:00
洋洋洒洒 2000字 作为水平一定很高
作者: nhszhb    时间: 2017-8-9 16:44
现在还有免费的吗
作者: shijuexiang    时间: 2017-8-10 20:29

作者: 2871035545    时间: 2017-8-13 20:57
谢谢学习学习哈哈哈
作者: 一百遍    时间: 2017-8-20 15:03
感谢楼主,真在搜索这方面的东西
作者: ozazou    时间: 2017-8-20 22:29
有没有办法通过邮箱来中转短讯,在反应到客户Duan上?
作者: shtbg    时间: 2017-9-18 20:55
学习下
作者: AAA空间    时间: 2017-9-19 23:27
有没有办法通过邮箱来中转短讯,在反应到客户Duan上?

作者: 花猫的思念    时间: 2017-9-20 21:12
        精彩文章希望继续努力
作者: leiwawa001    时间: 2017-9-21 15:45
看看这个东西
作者: linni0124    时间: 2017-9-26 18:40
        精彩文章希望继续努力
作者: tsb1    时间: 2017-10-6 15:06
6666666666666666666
作者: 3170337582    时间: 2017-11-3 17:09
666666666666
作者: 1033685204    时间: 2017-11-13 15:49
我也是和你的情况差不多  也是移到的宽带  怎么搞端口映射都还是不行
作者: malu    时间: 2017-11-19 18:41
机,我就不说了。源码最后送上,加了其它一些小功能,参考了论坛里一些易友们的思路,很有意思。
作者: wojinz    时间: 2017-11-24 19:25
楼主威武。
作者: tzdfvc    时间: 2017-11-25 14:31
哇,精品文章
作者: 破帽遮羞    时间: 2017-11-27 16:01
下载下来看看。
作者: 仙人板板i    时间: 2018-3-3 20:22
精彩文章希望继续努力
作者: Dick0210dy    时间: 2018-4-18 18:11
正学习相关内容,多谢分享
作者: leipeng    时间: 2018-4-21 23:35

正学习相关内容,多谢分享
作者: leipeng    时间: 2018-4-21 23:41

正学习相关内容,多谢分享
作者: leipeng    时间: 2018-4-22 11:16
我也搞了云主机,也把服务端放上去了,为什么不能连接了
作者: zhengqiyao    时间: 2018-6-3 04:53
会不会封,电信
作者: 3111923829    时间: 2018-6-3 12:55
111111111111111111111111111
作者: 相信天道酬勤    时间: 2018-7-16 20:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: OCAT    时间: 2018-8-4 20:34
下来学习学习膜拜膜拜
作者: JYYeah    时间: 2018-8-21 03:14
这几天整这玩意头疼
作者: SYTO1987    时间: 2018-11-13 10:48
感谢分享!!!可以参考学习一下!
作者: 又菜雞又爱玩    时间: 2018-12-24 02:01
我也想搞一下这个,折腾了很久{:3_53:}




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4