我们有一个使用TCPClient的自定义聊天应用程序(c#)。我们在防火墙或代理后面的客户端遇到问题。我们知道这些客户端可以毫无问题地浏览互联网,因此我们决定更改我们的TCPClient应用程序,以便它使用HTTP消息进行通信。
仅仅使用标准HTML标签和HTTP标头包装我们的文本按摩是否足够?我们需要持久的联系。 keep-alive有限制吗?防火墙或代理是否有“活动”连接的时间限制。
答案 0 :(得分:2)
您可能需要更改协议,可能非常重要。无法保证代理将为后续HTTP请求使用相同的TCP连接,它可以在收到来自服务器的消息后自由关闭任何连接,并且它们通常仅在几秒空闲之后。
除非您的协议可以无状态工作,否则它无法通过代理在HTTP上工作。