Socket Server架构设计与 Python阻塞字典实现
在项目中遇到了如下需求:
- 从远端服务器获取字节流数据,按照相关协议拆分字节流并进行校验
- 之后每一个不同的字节流对应了不同的命令字,需要根据命令字将字节流数据交予不同的handler处理
- 处理之后的结果通过对应的TCP链接进行send操作
我们逐个解决
生如春花之绚烂,逝如秋叶之静美
在项目中遇到了如下需求:
我们逐个解决
通信协议(英语:Communications Protocol,也称传输协议)在电信中是指在任何物理介质中允许两个或多个在传输系统中的终端之间传播信息的系统标准,也是指计算机通信或网络设备的共同语言。 通信协议定义了通信中的语法学, 语义学和同步规则以及可能存在的错误检测与纠正。通信协议在硬件,软件或两者之间皆可实现 。
—— 维基百科
项目中的一部分实现要求高性能并且稳定,于是准备使用代码分离,高性能和可用性的部分用 C++ 完成,然后编译成 Python 模块,与业务层实现对接。
我在这里使用了 Boost::Python 来进行 C++ 代码的导出。
隔壁寝室的室友每天打游戏到凌晨4、5点,不停的大喊:“上路、下路、中路…”
我不怎么了解游戏,也不是很清楚为什么游戏会有这么大吸引力;
但是我每天凌晨两点被吵醒,之后便难以入睡,十分影响正常生活。
跟他们沟通过好几次,可是都不起作用。
就在几天前,我实在受不了了,趁着51假期,我决定做点什么。
前几天项目写到了 spu、sku 部分,遇到一个需求:用户手动管理产品,需要根据给定的产品类目生成品类所有商品。
这么说大家可能不明白,给大家举一个例子吧:
假设用户添加了一个产品类目:Apple MacBook Pro 2018,这个产品有很多属性,譬如可以调整处理器、内存大小、硬盘大小…
以前的主机商块到期了,加上之前经常莫名其妙的打不开,于是决定换一家。
思来想去最终还是选择了阿里云那个新推出的轻量应用服务器,一咬牙花了288买了一年,用起来确实比我国内那个用来听歌的1M小水管舒服许多。
今天写学校作业,题目中有涉及到函数指针的内容,闲来无事就多写了几个例子,结果发现了C++ 函数指针中一个比较有趣的现象。