1

我正在尝试将 Websocket 服务器集成到我在 JBoss AS 7.2.0.Final “Janus”上使用 Restcomm 制作的 Sip-Servlet 应用程序中。我正在按照链接中指南的步骤进行操作。

我正在尝试将它与我已经用来连接不同 WS 服务器的节点服务器连接起来,并且它可以工作。这里是节点的代码:

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 服务器的正确路径?谢谢你的建议。

4

1 回答 1

0

Restcomm SIP Servlets 在 WS 端口 5082 和 WSS 端口 5083 上为 WebSockets 使用单独的连接器。这个特定的 WebSocket 连接器旨在仅支持 SIP Over Websockets,并与底层 SIP 堆栈紧密集成。

所以这取决于你的应用程序的意图是什么。如果您打算使用 5082 处理 SIP Over WebSockets 流量是正确的做法,否则如果它只是使用 8080 来处理常规 WebSockets 流量是可以使用的。

您可能还想尝试在来自https://mobicents.ci.cloudbees.com/job/RestcommSipServlets-4.X-Release/的 Wildfly 10 早期版本上使用 Restcomm SIP Servlets 。它通过了 TCK,并且可能为 HTTP 端提供了更新的 WebSockets 实现。

于 2016-07-15T08:52:54.180 回答