我们有一个客户端/服务器系统,其中所有通信都是使用TCP上的二进制/ SSL流上的本机协议完成的。我们所有的代码都是用C#.NET 2.0编写的,有些是用3.5编写的。我们的协议旨在支持各种消息传递模式,即请求/响应,以及缺乏更好的术语,来自客户端或服务器的不定期单向消息。
我们的目标是为我们的系统添加一项功能,以便通过HTTP传输我们的协议。这样做有几个原因,但我认为我不需要在这里解释。请告诉我是否应该。
我们的想法是使用标准请求方法将我们的协议作为应用程序/二进制文件嵌入到HTTP请求中,即。,GET,PUT,POST,但不是DELETE,并遵循HTTP规范。如果我们的协议只是请求/响应,这将是相当直接的。主要关注点来自单向消息,更具体地来自服务器的未经请求的消息。另一个重要问题是HTTP不是面向持久连接,但我相信使用HTTP / 1.1可以克服这个问题。第三个问题是服务器连接不是无状态的。
我们已经设计并制作了几周的原型,我们提出了几个想法:
我们希望有人之前遇到过这个挑战并且可以提供一些合理的建议吗?
如果发布此问题,请接受我的道歉。