本文从工作中的具体实践出发,介绍自己对错误码的一些设计思考。下面将从问题背景、需求分析、设计实践这三个方面来分别阐述。 问题背景 抛开具体的业务处理逻辑,这个问题可以抽象为两种模式: 报文头和报文体一致模式 这种模式,是由前端往后台发送请求得到响应,由前端负责封包解包。这里的报头和报体具有相同的数据 ...
分类:
其他好文 时间:
2020-07-05 17:28:35
阅读次数:
92
前言 请先看这一节了解一下MQTT https://www.cnblogs.com/yangfengwu/p/11762642.html (了解MQTT) 如果自己有兴趣可以自己去安装MQTT软件 然后让自己的设备通过自己的服务器进行通信 或者根据文章直接连接阿里云物联网平台 说明 用户看完上面的文 ...
分类:
其他好文 时间:
2020-03-21 10:14:16
阅读次数:
314
介绍 WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。 上古时期的浏览器有 ...
分类:
Web程序 时间:
2018-12-21 22:53:45
阅读次数:
2277
本篇文章重点介绍以下内容 Python语言的一些高阶用法主要有以下几个特性: generators生成器用法 collections包常见用法 itertools包常见用法 packing/unpacking封包/解包特性 Decorators装饰器 Context Managers上下文管理期 输 ...
分类:
编程语言 时间:
2018-06-05 15:19:38
阅读次数:
390
tcp为我们做了什么事情? 总得来说,tcp做了这几件事: udp为我们做了什么事情? 首先应该清楚的是,一个udp数据包仅仅是在IP数据包之上加了一个udp协议头。这个协议头十分精简,仅有的四个字段是:目的端口号、源端口号、数据包长度、校验和。通过sendto这个syscall发送一个udp数据包 ...
分类:
其他好文 时间:
2016-10-21 15:58:22
阅读次数:
187
解包、封包 解包:把可迭代队形的元素赋值给变量 封包:是把变量构建成元组 x, y =(1, 3) x, y =[1, 3] #*mid 表示一个容器,可以包含任意多个元素,解包过程中只能有一个*,*赋值出来的都是列表 >>> head, *tail = list(range(10)) >>> he ...
分类:
其他好文 时间:
2016-07-15 13:26:36
阅读次数:
142
如若描述或者代码当中有谬误之处,还望指正。将数据能够在TCP中进行传输的两种方法1.直接拷贝struct就可以了;2.序列化。拷贝Struct存在的问题1.不能应付可变长类型的数据,比如STL中的那些容器,他们的长度都是不确定的。当然,STL的容器归根到底就是一个class;2.内存对齐的问题,Wi...
分类:
其他好文 时间:
2015-11-20 23:05:42
阅读次数:
246
写得不完善也不完美 尤其是高低位转换那(go和c 二进制高地位相反 需要转换,还有go int转[]byte长度是4位),希望牛人看后指导一下项目需要通过socket调取 客户端是go ,服务器端是python,由于需要封包解包,就参照python写的python 的pack/unpack 参考 P...
分类:
编程语言 时间:
2015-04-07 11:20:39
阅读次数:
216
网络编程中经常会涉及到二进制数据传输的问题,在C++中常用的传输方式有文本字符串和结构体封包。如果能将要发送的数据事先放进连续的内存区,然后让send函数获取这片连续内存区的首地址就可以完成数据的发送了,文本字符串如char型数组,以字节为单位,在内存中是顺序存储的,所以可以直接用send函数发送。但是如果要同时发送多个不同类型的数据时,它们在内存中存储的地址是随机的,不是顺序存储的,而且它们之间...
分类:
编程语言 时间:
2014-07-28 16:17:43
阅读次数:
222