【发布时间】:2013-07-10 11:16:48
【问题描述】:
我想编写一个应用层协议,它使用 TCP 在发送 GET 请求时返回特定的 ASCII 文本。我阅读了第一个HTTP specification 和the SMTP specification,但仍然不清楚如何编写连接两台计算机本身的协议。我怎么能用C写这个?有什么教程或例子可以看吗?
【问题讨论】:
-
"如何使用 C 对 HTTP 0.9 进行逆向工程?" - 我不太确定这个问题是什么意思。 HTTP 规范是对必须通过网络传输才能完成某事的数据的描述。你不需要“逆向工程”一个规范,你只是让你的程序符合规范概述的规则。
-
我想做一个协议,可以向另一台计算机请求数据,计算机可以返回ASCII文本。
-
那么你应该从指定协议开始。单个“消息”是什么样的?它可以包含哪些数据,如何判断它是否有效?是否有几种“类型”的消息?他们必须按照特定的顺序吗? (例如 SMTP 或 SSL 中的身份验证/设置握手。)
-
如果所有这些听起来都含糊不清,那是因为这伴随着你可以任意灵活地做某事。没有一个简明的指南告诉你“如何从头开始发明一个协议”,有很多问题需要考虑,这就是为什么只使用一堆人已经敲定的现有协议几乎总是更好的原因。跨度>
-
@millimoose 我应该如何重组我的问题以及我应该包括哪些具体内容?
标签: c http protocols network-protocols