我想编写一个通过标准 TCP/IP
与应用程序服务器通信的客户端程序。客户端可以与应用程序服务器对话,并通过简单地以特定的基于文本的协议(protocol)对话来进行身份验证。流量将被加密,但不会有用户名/密码
。如果另一个应用程序尝试与应用程序服务器通信,并且应用程序未使用正确的基于文本的协议(protocol),则应用程序服务器将默默地丢弃数据包。
等待建议。
最佳答案
您可以使用 TLV 的简化版本(标记长度值)。
基本思想是定义一组消息类型,这些消息类型由固定大小的代码(T 代表 Tag)表示。根据消息的类型,它的内容(V 代表值)可以非常好,因此您可以在内容之前指定它的长度(L 代表长度)。 Length字段也有固定大小
假设您有一条消息用于将用户数据发送到服务器。您可以定义如下消息:
0x01 0x0018 0x11 0x0003 tom 0x12 0x000F tom@hotmail.com
Tag: 0x10 User data. Length: 0x0018 Value: sub tags
Tag 0x11: user name Length: 0x0003 Value = tom
Tag 0x12: email. Length: 0x000F. Value = tom@hotmail.com
已编辑:
我差点忘了:圣诞快乐 :)
关于c - 如何编写一个简单的基于文本的协议(protocol),最好是用 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959448/