末日编程者

爱学习的码农

首页 >> 末日编程者 >> 末日编程者全文阅读(目录)
大家在看全球冰封:我打造了末日安全屋 重生星际:上将夫人乖又野 极寒末世:我用聚宝盆囤亿万物资 系统怕我末日死,开局签到火种源 末世天灾:零元购囤满物资逆袭 天启之夜 末世多子多福,我一天捡一个女神 快穿虐渣:总穿成极品老太养反派 快穿之白月光今天也没死呢 重回天灾末世,开局我选择发疯 
末日编程者 爱学习的码农 - 末日编程者全文阅读 - 末日编程者txt下载 - 末日编程者最新章节 - 好看的科幻小说

第七十四章 再改豌豆射手

上一页书 页下一章阅读记录

*p++|=(src>>56)

*p++|=(src>>48)

*p++|=(src>>40)

*p++|=(src>>32)

*p++|=(src>>24)

*p++|=(src>>16)

*p++|=(src>>8)

*p++|=(src)

len=9;

*ret=buf;

return0;

}

这段代码的作用就是把一个长整型的数据封装进入字节流,并且字节流的首地上返回给二级指针。

业务模块就好理解很多了,比如转发一个客户端传递来的消息,通过用户id的标示找到相应的用户,再从用户注册在服务器的消息找到相应的客户端,然后把消息通过socket传输给另外的客户端。

韩海花了整整半夜才完成了服务器的编写,要不是很多东西他都写过,也不可能这么快,一个新手如果写一个聊天服务器,从入门到上手就需要一个月,当然新手是指的工科毕业生的水平。

接下来该编写客户端了,客户端和服务器就不同了,客户端需要一个载体,这个韩海早想到了,这个时候豌豆射手的攻击,已经无法破开普通丧尸的防御了,所以韩海准备把它改成通讯工具,想想大家每人肩膀上一个豌豆射手,然后对着它的炮筒通话是中什么样的画面。

韩海一想到这个,就感觉有无穷的动力,作为一个理工男的恶趣,还真不是一般人可以理解的。

韩海回了回神,打开了豌豆射手的数据模型,然后开始了长时间的阅读,这一次因为还是改写炮筒攻击方位的模块,所以他是有操作权限的。

但是这一次韩海需要大改这个模块的函数了,因为韩海要把攻击的功能,完全改写成一个收听声音和播放声音的组建,好在豌豆射手天生有听觉模型,并且在炮筒上也长着嘴巴,韩海只需要把这两样功能模块,进行取样和转发就可以了。

到了这一步,韩海就必须使用钩子技术了,他一共编写了2个篡改函数,因为函数的原型韩海可以看到,所以篡改以后的函数可以无缝对接原来的功能,从而不影响以前的程序。

第一个篡改的是豌豆射手收听声音的函数,他只不过是从中截取了每一帧声音的数据。

第二个篡改的是豌豆射手发声的函数,这一次他需要在发出声音的队里中,加入自己从socket收到的声音数据。

豌豆射手声音的样板是标准的PCM,也就是PulseCodeModulation,即为脉冲编码调制。

在光纤通信系统中,光纤中传输的是二进制光脉冲“0”码和“1”码,它由二进制数字信号对光源进行通断调制而产生。而数字信号是对连续变化的模拟信号进行抽样、量化和编码产生的,称为PCM(Pulse-codemodulation),即脉冲编码调制。

而这种样本数据一般数量级比较大,不利于传输,所以韩海使用了一个通用压缩标准AAC进行编码传输,AAC即是高级音频编码(AdvancedAudioCoding)。

目前韩海可以粗略的实现AAC的编码步骤,这种压缩编码算法是有损失的算法,原理采样一段时间内的PCM数据,然后使用傅里叶变幻编解码,声音其实就是不同频域的振幅,叠加起来的正弦波,编码算法其实就是进行时域正弦波叠加成近方型的正弦波,而解码就是使用傅里叶反变换,把叠加正弦波解码成原来一段段的正弦波。(这里只是粗略的进行编解码)

再之后的步骤,把压缩后的音频向服务器进行发送就可以了,再由服务器转发到另外的客户端,当客户端接收到音频消息的时候,再运行篡改后的发声函数,这样就达到了通讯的目的。

当然客户端也必须建立一套身份标识,否则通讯就无从寻找联系人了,这一点韩海已经想到了,当建立模型的时候,韩海可以给每个豌豆射手设置一个数字号码,当有人想要通讯的时候,在豌豆射手上拨号就可以了,而且系统内部还建立的群组概念,其实就是聊天群,联系人可以在群里发信息与群组内的所有人通讯。

之后韩海还编写了一套聊天界面,他把豌豆射手一侧绿色的表皮,变成动态的屏幕,这样用户就既可以发送声音也可以发送文字了。(参考QQIM)

目前韩海并没有开发视频聊天的功能,因为视频的编码比起声音来说复杂了不止一点,这是他以前学习中所欠缺的内容,这需要他再学习下H264视频编码后才可以实现,所以这里他留下了一个扣子,只有等以后再改进了。

做完这些,韩海把socket连接的函数写好,然后仔仔细细观察起写好的代码来,这是他许久以来养成的习惯,没有一个程序员,敢说自己写的程序没有BUG,如果有人说了,那么只是他没发现而已。

没一会儿,韩海又修改了几处地方,然后仔仔细细再看了一遍,直到发现不了问题后,他才送了一口气。

在这个时候,他才感觉到一股困意袭来,显然大量代码的编写,耗费了他大量的精力,这使得他心中一惊,因为明天还有事情做,想到这里他不敢怠慢,开始放空自己的脑袋,真正不去思想东西,这才沉沉的睡了过去。

喜欢末日编程者请大家收藏:(m.shuhaige.net)末日编程者书海阁小说网更新速度全网最快。

上一页目 录下一章存书签
站内强推退婚后,高冷女帝后悔了 权变 夜的命名术 仕途人生 大奉打更人 我的弟子全是大帝之资 男人太多也烦恼,不知该宠哪个好 我在星际重着山海经 我在异世封神 重生70年,觉醒系统从打猎开始 从水猴子开始成神 四合院的钓鱼佬 大明暴君,我为大明续运三百年 恰在人间 浮光三千里 重生何雨柱离开四合院 大唐:超时空,闺蜜晋阳小公主! 四合院:垂钓诸天万物 小阁老 想当神医被告,果断转行做兽医 
经典收藏科技:打造巅峰华夏,从横推鹰酱开始 重生在电影的世界 从学霸开始迈向星辰大海 我在荒岛肝属性 深海余烬 快穿:有怨气?疯批老祖帮你逆袭 超级无限充值系统 全民求生,你在超市零元购? 一切从打死恶犬开始 末世:从手刃女友闺蜜开始无敌 恐怖复苏之全球武装怪胎 快穿之炮灰她选择种田 求生:我在末世卡BUG 末世游戏降临,我黑成游戏管理员 末世:开局我夺取了SSS级异能 末世:开局血腥复仇 人在港综漂到失联 我在末世打造女神天团 末世:开局十二符咒,我横推无敌 我有一个经验值面板 
最近更新我和女友在末世相互带飞 末世开局获得军阀系统 卡牌,开局赌出了至高模板 末世:美人被异能大佬们抢疯了! 群星:我没输过,你说我是战犯? 都有金手指了?谁还当炮灰 废土孕妈拾荒日常 都末世了,养点丧尸很合理吧 末世天灾:我的游戏面板 末世之无间行者 苍龙之争 全球冰封:出国囤积亿万物资 快穿:娇娇靠生子系统独宠好孕捏 惊爆星际!废物竟让大佬言听计从 末世:开局蹬三轮,经营移动超市 星际第一菜农 废土拾荒:别人挨饿,我粮满仓 末日之我有个大计划 废土求生我沉迷挖野菜不可自拔 钢铁少女的生存法则 
末日编程者 爱学习的码农 - 末日编程者txt下载 - 末日编程者最新章节 - 末日编程者全文阅读 - 好看的科幻小说