1

JBoss AS 7.2.0.Final "Janus" で Restcomm を使用して作成した Sip-Servlet アプリケーションに Websocket サーバーを統合しようとしています。このリンクのガイドの手順に従っています。

別のWSサーバーとの接続にすでに使用しているノードサーバーに接続しようとしていますが、動作します。ノードのコードは次のとおりです。

var networkNode = new ws('ws://192.168.1.220:5082/websocket/helloName');

networkNode.on('open', function open() {
    console.log('connected');
});

ガイドには 8080 ポートを使用するように記載されていますが、次の点に注意してください。 "しかし、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 サーブレットは、WS のポート 5082 と WSS のポート 5083 で、WebSocket 用の個別のコネクタを使用します。この特定の 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 サーブレットを使用してみてください。TCK を渡し、HTTP 側の最新の WebSocket 実装を持っている可能性があります。

于 2016-07-15T08:52:54.180 に答える