搜故事,从300万个故事到海量知识百科的华丽转变!
搜故事 > 故事会 > 正文

两个程序的爱情故事 速学堂教程

时间:2020-09-10

两个奢侈品牌之间的爱情故事

提示:本文共有 3097 个字,阅读大概需要 7 分钟。

好感

在这个忙碌的城市里, 我虽然没和她见过面, 但我们已经聊过很多次了。

与其说是聊天,倒不如说是通信, 每次我想给她说话时, 我就把消息放到一块共享内存里边, 然后就离开运行车间, 让她或者别人去使用CPU。 等我再次进来的时候,她回复的消息就已经在那个共享内存中了。

有无数次,我离开的时候都想偷偷的看一眼, 希望接下来运行的是她,可是这个城市严格的规则让我的希望只是奢望。

操作系统把我们这些进程严格的隔离, 他通过虚拟内存的机制,让每个进程都有一块虚拟的、独立的地址空间, 从而成功的制造了一个假象 : 让大家以为内存中只有一个程序在运行。

当我在就绪队列中等待的时候,也被严格禁止和别人交谈, 我经常环顾四周,希望能够看到她的身影, 可是这个系统的进程成千上万, 究竟哪个是她?

也许我见过她,但是根本认不出来。

我和她越聊越多, 对她的好感就越深, 有一次我给她发的消息等了100毫秒都没有回复,把我都快急疯了。

她很喜欢听我讲故事,尤其是那个编号为0x3704 的线程,每次她都会说: 唉,那些线程可真可怜。 我就吓唬她说: 有一天我们的机器也会重启的, 到时候估计你也认不出我来了。 她说没事的, 只要我能通过共享内存给你发消息,我就知道你就在这个城市里。

分离

这样的日子过了一天又一天, 我想见到她的愿望越来越迫切了。

我悄悄给了CPU很多好处, 希望CPU能描述下她的样子,方便我去找她, 可是CPU运算速度太快, 阅人无数,但就是没有记忆力。

CPU说: 你还是去问操作系统老大吧, 看看你喜欢的女孩到底什么样。

问操作系统? 还是算了吧, 互相隔离是我们城市的铁规, 弄不好他会把我kill掉。

圣诞节前的平安夜, 我打算正式向她表白, 像往常一样 , 我从共享内存里收到了她的信, 急切的拆开信封, 看到了里边的第一句话: 我要走了,以后不能和你通信了......

刹那间,我第一次感觉到了什么叫做五雷轰顶,灵魂出鞘, 我脑子一片空白, 张大了嘴巴呆呆站在那里, 时间长达20毫秒。

CPU看到了我的异常, 因为这么长时间的指令都是NOP, 什么都不做, 这是非常罕见的。

CPU好心的提醒我: 嗨,老兄,你怎么了? 你的时间片快用完了啊!

我的灵魂慢慢归位,意识到信还没有读完, 赶紧接着往下看: “ 我马上要搬到另外一个城市去了,你要想找我的话,切记下面的IP地址和端口号,用socket和我通信”

我明白了,到另外一个城市那就意味者要搬离我们现在的电脑了, 也许是这个城市太拥挤, CPU/内存/硬盘已经不堪重负, 有一批程序需要被搬离到另外一个电脑中。

虽然我和她一直没机会见面, 但我知道我们就住在一个城市, 有时候也许只是擦肩而过, 她就在我的身边, 这好歹给我一点点安慰。

现在,连这一点点的安慰都没有了, 对了,她说的这个socket 是什么东西。

CPU说: “那是网络编程, 你看人家对你还是有情意的, 临走了还给你留下联系方式, 快去学学怎么用Socket吧”

当晚我就失眠了,半夜爬起来翻看一页页和她的通信记录 (很庆幸我把通信记录都保存到了文件中),脑海里回想着这么多天以来幸福的日子,一直到天亮。

网络

为了早日和她联系, 我奋发图强学习网络编程, 理解TCP/IP, 把我自己逐渐的加上对Socket的支持。

一个CPU月以后, 我这个程序终于完成了从共享内存到Socket的改造,激动人心的时刻到来了。

作为一个客户端, 我颤抖着双手向她发起了Socket请求, TCP携带着数据包慢吞吞的走向她所在的城市, 等了好久TCP才完成了三次握手, 这网络可是真慢啊。

我赶紧发送第一个消息: 你好,好久不“见”。

等了足足有1000毫秒, 对我来说仿佛是一个世纪, 才收到让我激动无比的回信 : “啊, 你终于来了 。我在这里等了你好久了,你怎么现在才联系我 ?”

我不好意思的说: “我很笨, 学习socket 太慢了”

又过了一个世纪,我才收到回复, 这网络真是慢的令人抓狂啊。

不管如何, 终于和她联系上了, 这让我开心无比。

原来我们一天能通信上千次, 现在可好, 有10次就不错了, 再也不能像原来那样痛快的讲故事了, 既来之则安之, 反正网络很慢, 现在每次我都会写一封巨长无比的信, 把我的思念之情全部倾诉在其中, 漫长的等待以后再去读她的长长的回复。

原来我们通过内存来中转消息的时候, 是通过操作系统来做同步操作的, 这能防止读写的冲突。

可是通过网络通信就完全乱掉了, 经常会出现我说我的, 她说她的, 闹的很不愉快。

后来我和她只好协商了一个协议, 约定好消息的次序和格式, 这才算解决了问题。

(码农翻身注: 这其实就是基于socket的应用层协议)

Web

我明白我和她已经不可能在一起了, 每天的socket通信已经让我满足。

可是有一天当我照例发起socket的请求的时候, TCP的连接竟然告诉我 超时 了, 这是从来没有发生的事情,难道这一次要彻底失去她了吗?

我冒着风险,马上把异常报给了操作系统老大, 老大尝试了一下说: “我ping了一下, 网络是通的, 估计是你那从未见面的小女朋友不想理你了, 悄悄的换了一个你不知道的端口吧。”

我斩钉截铁的说: 那绝对不可能, 她不是这样的人。

可是迟迟没有消息, 我每天都会试图连接一下, 每次都是超时, 没有她的日子生活都是灰色的, 不断的煎熬让我快要绝望了。

终于有一天, 有一个U盘从她的城市来到我们这里, 告诉了我们一个惊人的消息,她所在的城市安装了防火墙,现在除了几个特定的端口(例如80,443...) 之外, 都不允许访问了。

我一下子松了口气, 怪不得, 她告诉我的端口不是80和443, 被封掉了, 我自然连接不上了。

我问U盘: “那我想和女朋友通信, 该怎么办?”

U盘说: 很简单啊, 你和你女朋友都可以包装成Web 服务啊, 这样都是通过Http(80端口)或者Https(443端口)来访问的, 这样防火墙是允许的啊。

好吧, 为了和她联系上, 马上抛弃socket, 开始向Web服务进化。

一个Web服务首先要有一个endpoint , 其实就是就是一个URL , 描述了这个Web服务的地址。

其次确定Web服务的描述方式和数据传输方式, 我先是选了WSDL 和 SOAP , 研究了一下才发现这哥俩太繁琐了,都是XML, 很多冗余的数据标签, 我想这将会极大的影响我和她的通信效率, 还是换成简单的HTTP GET/POST + JSON吧, 很简洁,能充分的表达我的相思之情。

我把我这个Web服务的地址和格式协议告诉U盘, 恳请U盘带到那个城市,再把女朋友的Web服务描述带回来。

我欣喜的发现,我和她不约而同的选择了轻量级的HTTP+ JSON, 看来虽然隔着千山万水,我们的心意还是相通的。

这样的准备工作足足干了6个CPU月, 但我并不觉得累, 因为希望一直在前边召唤。

这是一个晴朗的日子,一切工作准备就绪,马上就要联系了, 这一次我的心情反而平静了下来, 因为我坚信她肯定在那边等着我。

我通过HTTP向她发出了呼叫, HTTP的报文被打包在TCP报文段中, 又被放到IP层数据报中, 最后形成链路层的帧, 通过网卡发了出去。

在意料之中的漫长等待以后, 我看到了期待已久地回复: 我们终于又“见”面了 !

我回答:“是啊, 真是太不容易了”

“不知道将来我们会不会再分开?” 她担忧的说。

“未来会如何? 我也不知道,还是牢牢地把握住现在吧! 我相信我们的心会一直在一起,什么都无法阻止! ”

转自:码农翻身mp

分享:0

看到此处说明本文对你还是有帮助的,关于“两个程序的爱情故事 速学堂教程”留言是大家的经验之谈相信也会对你有益,推荐继续阅读下面的相关内容,与本文相关度极高!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
一个简易的微信小程序入门教程 教你制作餐饮小程序

一个简易的微信小程序入门教程 教你制作餐饮小程序

小程序,商店,平台,餐饮,微信,教程,菜品,门店,餐饮类,餐饮行业,佣金,后台,商品,外卖,客流,流量,模板,电商,账号,颜色,给大家,于微,建一,上平,都会,都上,朋友,周边,传统,上线

2017-09-17 #长篇故事

怎么弄微信小程序?个人文章小程序生成教程

怎么弄微信小程序?个人文章小程序生成教程

小程序,个人,账号,微信,信息,名称,类型,头像,工具,文章,简介,问题,风格,服务,很简单,服务类,新博文,白科,若想,好的,还可以,风格设计,一致性,企业,上线,主体,主题,主页,交通,体育

2020-09-27 #小故事

微信小程序怎么使用 教程到 如何使用微信小程序

微信小程序怎么使用 教程到 如何使用微信小程序

小程序,微信,界面,功能,进入到,管理,通用,点击进入,五子棋,入口,名字,然后就,插件,右下方,右上角,图标,游戏类,整体,手机,放大镜,标志,斗鱼,清空,能力,用户,解下,要点,页面,上显示,主页面

2014-07-24 #故事会在线阅读

微信小程序教程入门篇

微信小程序教程入门篇

小程序,微信,语言,小商店,个人,费用,商品,代码,基础,框架,上线,优势,企业,商家,平台,数据,知识,缺点,页面,认证,多少钱,用什么,价格表,价格,入门篇,功能,前端,因素,官方,定制

2009-07-13 #经典故事

微信小程序开发入门教程:如何做一个展示小程序?

微信小程序开发入门教程:如何做一个展示小程序?

小程序,企业,名片,上线,产品,客户,宣传,后点,图文,微信,效果,流程,视频,账号,访客,设计,个人,中心,中实,人员,商家,品牌,入门教程,入口,功能丰富,后台,团队,图片,复制粘贴,工具

2011-01-11 #经典故事

黑马程序员:抖音vlog怎么拍?vlog拍摄详细教程

黑马程序员:抖音vlog怎么拍?vlog拍摄详细教程

素材,A.,B.,D.,视频,用户,C.,E.,F.,转场,分类,手机,镜头,创作者,内容,视角,重点,音乐,剪辑,短视频,产业,主题,字幕,尺寸,标题,方式,牢笼,洛杉矶,步骤,特效

2007-07-28 #故事阅读

jQuery有趣横生的程序员的爱情故事 蓝文资源库 – 海量优质开发设计资源分享平台

jQuery有趣横生的程序员的爱情故事 蓝文资源库 – 海量优质开发设计资源分享平台

好东西,平台,前端,宗旨,地址,合肥市,安徽省,客服,海量,教程,微信,资料,素材,邮箱,合作,咨询,这里有,软件开,设计资料,还有很多

2013-12-16 #故事阅读

中国历史故事集读书卡更新啦 教程可在小程序手抄报作业里获取哦!

中国历史故事集读书卡更新啦 教程可在小程序手抄报作业里获取哦!

弹幕,倍速,高清,循环,全屏,字号,区间,洗脑,播放器,语言,类型,行数,连播,速度,直播,不透明度,自动跳过,默认设置

2020-06-28 #短篇故事