目前我有一个现有的应用程序,它基本上由一个桌面 GUI 和一个 TCP 服务器组成。客户端连接到服务器,如果发生有趣的事情,服务器会通知客户端。
现在我应该用 Web GUI 替换桌面 GUI,我想知道我是否必须重写服务器以发送 http 数据包而不是 tcp 数据包,或者我是否可以以某种方式使用某种代理来获取 tcp 数据包并将它们转发给网络客户端?
我需要某种彗星服务器吗?
目前我有一个现有的应用程序,它基本上由一个桌面 GUI 和一个 TCP 服务器组成。客户端连接到服务器,如果发生有趣的事情,服务器会通知客户端。
现在我应该用 Web GUI 替换桌面 GUI,我想知道我是否必须重写服务器以发送 http 数据包而不是 tcp 数据包,或者我是否可以以某种方式使用某种代理来获取 tcp 数据包并将它们转发给网络客户端?
我需要某种彗星服务器吗?
如果您可以让您的客户问“有什么新朋友吗?”之类的问题。不时连接到您的服务器,您可以开始通过 TCP 实现 HTTP 服务器仿真器 - 它的过程既有趣又简单。您可以拥有任何基于 Web 的 GUI。
您可以添加到您的 TCP 响应 Http 标头中 - 它可能会这样做=)
所以我的意思是 HTTP 只是一个带有一些头的 TCP,如这里所示。
您可能应该安装fiddler并监视您通常在网络上执行的一些 http 请求/响应,您将了解如何将您的 TCP 服务器变成 http 模拟器=)
如果您想保留基于套接字的方法,请使用 flash(有一些 套接字 api)或 silverlight(有套接字 API,您可以使用 NetTcpBinding 或 Duplexbinding 之类的东西 - 它可以让您在服务器需要时从服务器接收消息接收它们(服务器推送消息))
所以也许你应该告诉我们你打算使用哪个后端,这样我们就可以向你推荐更有用的东西。