|
分享源码
界面截图: |
|
是否带模块: |
纯源码 |
备注说明: |
- |
第一次在源码区发帖,不是标题党!
代码很简单,没啥好讲的,就是想分享下这个其中过程,希望对和我一样的小白有些帮助。
之前一直对两台电脑之间的互相通信很感兴趣,然后就发现了易语言的服务器和客户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和端口,对于高手来说可能就是分分钟的事情,而我前前后后焦头烂额了一个星期,从没有一点儿头绪到慢慢找准方向,这是一个过程,在这个过程里学到的东西,远远比这个结果更重要。
云主机地址打码了,网上可以找打很多免费的云主机,我就不说了。源码最后送上,加了其它一些小功能,参考了论坛里一些易友们的思路,很有意思。
|
评分
-
查看全部评分
|