带有JBoss AS 7.2.0.Final的Websocket服务器;“杰努斯”;和restcommsipservlet
我正在尝试将Websocket服务器集成到我的SIPServlet应用程序中,该应用程序在JBoss上使用Restcomm作为7.2.0.Final“Janus”创建。我正在按照链接中指南的步骤进行操作 我正试图在它上连接一个节点服务器,我已经用它连接了不同的WS-server,它可以正常工作。此处是节点的代码:带有JBoss AS 7.2.0.Final的Websocket服务器;“杰努斯”;和restcommsipservlet,websocket,jboss7.x,restcomm,mobicents,sip-servlet,Websocket,Jboss7.x,Restcomm,Mobicents,Sip Servlet,我正在尝试将Websocket服务器集成到我的SIPServlet应用程序中,该应用程序在JBoss上使用Restcomm作为7.2.0.Final“Janus”创建。我正在按照链接中指南的步骤进行操作 我正试图在它上连接一个节点服务器,我已经用它连接了不同的WS-server,它可以正常工作。此处是节点的代码: var networkNode = new ws('ws://192.168.1.220:5082/websocket/helloName'); networkNode.on('op
var networkNode = new ws('ws://192.168.1.220:5082/websocket/helloName');
networkNode.on('open', function open() {
console.log('connected');
});
请注意,指南中说要使用8080端口,但:
1.如果我使用端口8080 node.js,会显示类似“连接错误:错误:意外服务器响应(404)”的消息
2.如果我使用端口5082,它会显示“已连接”,但我在Jboss终端中看不到任何日志消息
下面是我的Sip Servlet应用程序的Java代码部分:
package org.mobicents.servlet.sip.example;
//other imports...
import javax.websocket.CloseReason;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket/helloName")
//here I have some attributes.
public class SimpleSipServlet extends SipServlet implements SipErrorListener,
Servlet {
...
@OnOpen
public void helloOnOpen(Session session) {
logger.info("WebSocket opened: " + session.getId();
}
//And so on...
我的逻辑/代码是否有问题?
我想我指向了错误的听众,对吗?
如何知道WebSocket服务器的正确路径?
感谢您的建议。Restcomm SIP Servlets在端口5082(WS)和端口5083(WSS)上为WebSocket使用单独的连接器。此特定的WebSocket连接器旨在仅支持WebSocket上的SIP,并与底层SIP堆栈紧密集成 因此,这取决于应用程序的目的。如果您打算使用5082处理SIPoverWebSockets流量,那么如果仅使用8080处理常规WebSockets流量,那么使用5082处理SIPoverWebSockets流量是正确的
您可能还想尝试在来自的Wildfly 10早期版本上使用Restcomm SIP servlet。它通过了TCK,并且在HTTP端可能有一个更为最新的WebSocket实现。Restcomm SIP Servlets在端口5082(用于WS)和端口5083(用于WSS)上为WebSocket使用单独的连接器。此特定的WebSocket连接器旨在仅支持WebSocket上的SIP,并与底层SIP堆栈紧密集成 因此,这取决于应用程序的目的。如果您打算使用5082处理SIPoverWebSockets流量,那么如果仅使用8080处理常规WebSockets流量,那么使用5082处理SIPoverWebSockets流量是正确的
您可能还想尝试在来自的Wildfly 10早期版本上使用Restcomm SIP servlet。它通过了TCK,可能在HTTP端有一个更为最新的WebSocket实现。Hello Jean,我的目的是在node.js服务器和Sip Servlet之间创建一个通信通道,而不是在本例中用于WebSocket上的Sip,因此我将使用端口8080。但是我如何知道WebSocket服务器端点的正确路径呢?如果您不打算使用SIPServlet,我建议您创建一个常规的HTTPServlet,并尝试在其上使用WebSocket端点,因为我认为SIPServlet目前不支持将WebSocket端点注入其中。您好,Jean,我的意图是在node.js服务器和SIPServlet之间创建一个通信通道,而不是在本例中用于WebSocket上的Sip,因此我将使用端口8080。但是我如何知道WebSocket服务器端点的正确路径呢?如果您不打算为此使用SIPServlet,我建议您创建一个常规的HTTPServlet并尝试在其上使用WebSocket端点,因为我认为SIPServlet目前不支持将WebSocket端点注入其中。