如何找到服务器的websocket url?

时间:2016-01-11 15:37:21

标签: java tomcat websocket server openshift

我正在尝试在Openshift上托管一个网络应用程序。我正在使用一个处理所有连接的websocket。但是,我不确定要为我的套接字url输入什么值。我有一个.js文件,内容如下:

...
// socket connection url and port
var socket_url = '192.168.8.102';
var port = '8080';

$(document).ready(function() {

    $("#form_submit, #form_send_message").submit(function(e) {
        e.preventDefault();
        join();
    });
});

var webSocket;

/**
 * Connecting to socket
 */
function join() {
    // Checking person name
    if ($('#input_name').val().trim().length <= 0) {
        alert('Enter your name');
    } else {
        name = $('#input_name').val().trim();

        $('#prompt_name_container').fadeOut(1000, function() {
            // opening socket connection
            openSocket();
        });
    }

    return false;
}

/**
 * Will open the socket connection
 */
function openSocket() {
    // Ensures only one connection is open at a time
    if (webSocket !== undefined && webSocket.readyState !== WebSocket.CLOSED) {
        return;
    }

    // Create a new instance of the websocket
    webSocket = new WebSocket("ws://" + socket_url + ":" + port
            + "/WebMobileGroupChatServer/chat?name=" + name);

....

当我在本地测试时,它使用我的本地IP地址192.168.8.102作为socket_url完美地工作。但是,如果我要将我的程序用于在线托管,那么我应该输入什么价值的socket_url呢?我的域名是http://jbosslew-weihao.rhcloud.com/

当我使用tomcat apache服务器在本地测试时,域名是 http://192.168.8.102:8080/WebMobileGroupChatServer/

如何在openshift上找到服务器的套接字网址?

1 个答案:

答案 0 :(得分:1)

根据https://developers.openshift.com/en/managing-port-binding-routing.html,您需要将其绑定到端口8000以进行常规访问,或绑定到端口8443以进行安全访问

所以你的websockets url将是以下之一:

WS://app-domain.rhcloud.com:8000 /路径
wss://app-domain.rhcloud.com:8443 / path