哪种点对点协议具有最短的规范?
What peer-to-peer protocol has the shortest specification?
出于个人教育目的,我想在 C 中实现 P2P 协议。
至今仍在使用的规格最短的协议是什么?
我已经实现了 Web 和 IRC 客户端和服务器。
连续剧。答案是连续的。您不会比简单的 RX/TX 通信更精简,但您会缺少很多方便的方法。如果您想探索的不仅仅是简单的双向通信,I2C 或 modbus 提供了很多选择。
我同意 Mark 的观点,点到连载 link 将是一个很好的练习。
特别是,我会推荐以下程序...
通过“串行端口”实现基本传输(在 linux/mac 上使用 RS-232 if you have some Arduinos/embedded processors lying around, or using a null modem emulator if you don't (see com0com on Windows, or this)。
- 即从
A->B
发送小写字母,并从 B->A
将它们回显为大写字母
实施SLIP作为一种可靠的框架消息
- 即您可以发送任何字符串(例如“hello”),它以大写形式返回并附加“WORLD”(“HELLOWORLD”)。
实现 Modbus 协议的“读取多个保持寄存器”和“写入多个保持寄存器”部分,使用 SLIP 构建消息。
- 即您有一个跟随者(从属)设备和一个领导者(主)设备。跟随者有 10 个字节的内存,通过 modbus 公开,初始值为“helloworld”。
- 现在只需对跟随者/领导者设备 ID 进行硬编码。
- 领导读取值,然后将其设置为“worldhello”。
最后您将开始了解网络层的作用,即:
- 物理层 - Serial/RS-232
- 各种“link层”- SLIP
- “应用”层 - Modbus
出于个人教育目的,我想在 C 中实现 P2P 协议。 至今仍在使用的规格最短的协议是什么?
我已经实现了 Web 和 IRC 客户端和服务器。
连续剧。答案是连续的。您不会比简单的 RX/TX 通信更精简,但您会缺少很多方便的方法。如果您想探索的不仅仅是简单的双向通信,I2C 或 modbus 提供了很多选择。
我同意 Mark 的观点,点到连载 link 将是一个很好的练习。
特别是,我会推荐以下程序...
通过“串行端口”实现基本传输(在 linux/mac 上使用 RS-232 if you have some Arduinos/embedded processors lying around, or using a null modem emulator if you don't (see com0com on Windows, or this)。
- 即从
A->B
发送小写字母,并从B->A
将它们回显为大写字母
- 即从
实施SLIP作为一种可靠的框架消息
- 即您可以发送任何字符串(例如“hello”),它以大写形式返回并附加“WORLD”(“HELLOWORLD”)。
实现 Modbus 协议的“读取多个保持寄存器”和“写入多个保持寄存器”部分,使用 SLIP 构建消息。
- 即您有一个跟随者(从属)设备和一个领导者(主)设备。跟随者有 10 个字节的内存,通过 modbus 公开,初始值为“helloworld”。
- 现在只需对跟随者/领导者设备 ID 进行硬编码。
- 领导读取值,然后将其设置为“worldhello”。
最后您将开始了解网络层的作用,即:
- 物理层 - Serial/RS-232
- 各种“link层”- SLIP
- “应用”层 - Modbus