Tomcat:响应http POST请求的Websocket广播

时间:2012-08-31 12:56:04

标签: http tomcat servlets websocket

每次收到特定的POST请求时,我都需要通过websocket广播消息。问题是一个servlet(扩展的HttpServlet)接收POST请求而另一个(扩展的WebSocketServlet)处理websocket连接。

我不能使用RequestDispatcher(如果我正确理解它),因为不同的请求类型,因为我需要在POST接收的servlet中进一步处理请求。

我不知道是否可以从第一个servlet向第二个servlet发送ws-request,但即使我能这样做也不是正确的方式......

1 个答案:

答案 0 :(得分:1)

websockets要求你升级一个http连接,一旦升级了这个连接就不再说http了,你说的是websocket。

所以websockets没有http POST语义的概念

理论上,如果你在点A和点B之间有两个连接,一个是http,一个是websocket,你可以像服务器那样协调那种设置自定义,但它会是一个糟糕的设计imo,太多了涉及协调。更好地使用像cometd这样的消息库,你可以在其中进行与协议无关的来回消息传递。那么你让那个消息库决定是否应该使用长轮询或仅仅是简单的http来讨论websocket或spdy或http。