我们已经准备好了,你呢?

2026我们与您携手共赢,为您的企业形象保驾护航!

作者 |轩辕志峰

来源丨编程技术宇宙(ID:)

当我大一的时候,我就开始使用C语言进行网络编程。你知道,绑定、接收和发送。

我拿着从图书馆借来的一本书,按照上面的说明,一行一行地输入电脑。我成功编写了一个TCP服务器和客户端,可用于发送和接收消息。

不过客户端和控制端都运行在我自己的电脑上。给自己发信息很无聊。于是我把客户发给了我的室友,我就可以通过电脑和他交流了。

于是我们开始在黑暗的控制台窗口上聊天。尽管他就在我对面,尽管只是一条短信,尽管那么简单,室友仍然夸我伟大,这让我充满了成就感。原来网络编程这么有趣。

手术成功后,我和室友组队玩了几款穿越火线游戏。我很高兴~

花生壳域名解析ipv6_花生壳动态域名不稳定_新花生壳动态域名解析软件

第二天,我就开始考虑把客户端发给2公里外的女朋友,这样我们晚上在各自宿舍就可以用它代替QQ聊天。想想还挺浪漫的呢~

花生壳动态域名不稳定_花生壳域名解析ipv6_新花生壳动态域名解析软件

没想到立刻就被鄙视了。这是这么黑暗的事情吗?就不能做一个漂亮的界面吗?

是的,这东西确实不容易看到。至少得像QQ一样,有聊天界面,有发送按钮。如果还能发图片就更好了。

于是我又奋斗了一周,用VC++创建了一个简单的界面。我还添加了一个来自网络的漂亮皮肤,现在漂亮多了。

我兴奋地把程序发给女朋友,期待她用钦佩的目光看着我。

然鹅···

她居然在QQ上告诉我:弹出窗口说无法连接服务器!

花生壳动态域名不稳定_花生壳域名解析ipv6_新花生壳动态域名解析软件

我的服务器开放了吗?但它只是不能与生死联系起来。

我很快平静下来。老师教我可以用ping命令来查看网络是否连通。

我用QQ远程控制桌面,从她的电脑上ping我的电脑:

平 192.168.1.103

该死的!无法 ping 通!

我弱弱地向有经验的师兄请教,然后就被鄙视了:能ping通才怪,这是局域网地址!

我很困惑,什么是LAN地址?为什么我无法 ping 通?

花生壳域名解析ipv6_新花生壳动态域名解析软件_花生壳动态域名不稳定

那时我刚学C语言,刚刚开始上计算机网络课程。用新手来形容我一点也不为过。

于是我就开始疯狂收费,这时候我才知道什么是公有地址,什么是私有地址。我还了解到宿舍里的路由器有一个功能叫NAT,它偷偷地将我们电脑局域网的私有地址改为公网。地址,一离开宿舍,就使用公网地址进行通讯。

NAT的出现缓解了IP地址不足的问题,让我们宿舍的几个人可以共享同一个IP地址来上网。

现在看来这是一个非常简单的技术,但是如果你当时不知道的话,你就是不知道,所以就成了一个笑话。

于是我找到了路由器上WLAN口的公网IP地址,替换了客户端代码中的服务器地址,重新编译了一个包并发送给了女朋友。

现在应该没问题了吧?

然而,还是不行!

我想当你看到这个的时候,你心里也在说同样的话:如果这能行的话那就奇怪了!

是的,虽然已经改成了公网地址,但是路由器还没有配置转发。

奋斗了半天,我学会了一个东西,叫UPnP。我不得不在路由器上配置端口转发,将公网IP地址下的端口号映射到局域网下某个地址的端口,这样公网IP地址的路由器收到连接后就会转发到服务器在我的电脑上。

我登录到路由器的后端,映射并配置了我的服务器正在侦听的端口号,迫不及待地让我的女朋友再次尝试!

最后,这一次她告诉我:连接了!

最后,我给她发了第一条消息:Hello,World!

心情好,午餐加点荤菜吧~

花生壳域名解析ipv6_新花生壳动态域名解析软件_花生壳动态域名不稳定

使用IP地址建立连接毕竟不是一个好主意,因为路由器上的公共IP经常发生变化,而且每次变化都必须重新编译一个客户端,这很麻烦。

不然每次都要手动输入,但又不能每次都留一个输入框让女朋友填写IP地址。她一定会问我:为什么我登录QQ时没有填写QQ的IP地址?

于是我又搜索了一下,得知这个问题可以通过将IP替换为域名来解决。

程序代码中将IP替换为域名,然后动态解析为IP地址。服务器的IP地址不再需要硬编码到代码中。

但问题来了,这么蹩脚的东西还需要注册域名吗?注册域名需要支付更多费用吗?

公网IP频繁变动。域名映射的IP每次改变都得改变吗?这还是麻烦啊!

经过一段时间的研究,付双思了解到了一个叫DDNS动态域名解析的东西和一个叫花生壳的软件。我下载了一个客户端,我所有的问题都安排得很清楚了。

花生壳域名解析ipv6_花生壳动态域名不稳定_新花生壳动态域名解析软件

不需要自己注册域名,直接使用这个花生壳下的子域名即可。通过客户端,您可以随时更改域名映射的IP地址,方便快捷。

我又修改了程序,终于解决了问题。

但很快新的问题又来了。我的程序只能在服务器和客户端之间通信。如果第三人或第四人想加入怎么办?

继续改变!

让我们回到今天写这篇文章的主题。

经常有人在微信上问我:轩辕,我该怎么学xxx?我是新手,还有机会吗?

其实,谁不是小白出身,谁没有在求学的路上被人瞧不起、被人笑话?所谓学有先后,艺有专精,仅此而已。

从我自己的学习经验总结来看,想要拥有扎实的技术知识,光看课程、看书是不够的,还得去做!

只有当你真正做了一些项目,遇到实际问题时,你才会知道各种技术是什么意思,是用来解决什么问题的。这比您从书籍或博客中想象的要好。理解就更深了。

工作几年后,我发现基础知识积累最多、最快的时期是大学时期。工作后,我在日常工作中其实没有太多机会接触操作系统、计算机网络、数据结构和算法等基础课程知识。我花更多的时间写API接口,做CRUD,堆一堆框架代码。搭积木,或者学习redis、mysql等第三方组件的使用。

在大学期间,我大致做过以下项目:

- 即时通讯软件

- 静态网络服务器

-远程桌面控制软件

-网络流量恢复软件

- 内核ARK工具

虽然现在看起来一切都还比较粗糙,距离实用还很远,但是基本的功能都完成了,而且通过开发这些东西,不仅让我当时的编程能力提高了很多,而且在以后的这个过程中,我不断的提高自己的编程能力。发现了新的技术术语,打下了扎实的基础,学到了很多课本上没有的东西。

如果你是这个行业的新手,我的建议是不仅要看书,还要多做,Talk很便宜,给我看代码!

二维码
扫一扫在手机端查看

本文链接:https://by928.com/8405.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线