Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Связаться с сокетом / 2 сообщений из 2, страница 1 из 1
03.02.2016, 15:16
    #39162079
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связаться с сокетом
на основе уроков из сети написал вот такой код:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
 window.onload = function()
{
    var label = document.getElementById("status");
    var message = document.getElementById("message");
    var btnSend = document.getElementById("send");
    var btnStop = document.getElementById("stop");
    
    var socket = new WebSocket("ws://echo.websocket.org");
    
    socket.onopen = function(event){
        label.innerHTML = "Соединились c сервером " + socket.url;
    };
    socket.onclose = function(event){
        label.innerHTML = "Соединение закрыто";
        
        var code = event.code;
        var reason = event.reason;
        var wasClean = event.wasClean;
        
        alert(wasClean);
        
        if(wasClean)
        {
            label.innerHTML = "Соединение закрыто корректно!";
        }
        else
        {
            label.innertHTML = "Соединение закрыто с ошибкой! Причина" + reason + " Код " + code;
        }
    };
    
    socket.onerror = function(event){
        console.log("error");
    };
    
    
    socket.onmessage = function(event){
        if(typeof event.data === "string")
        {
            label.innerHTML = event.data;
        }
    };
    
    btnSend.onclick = function(event) {
        if(socket.readyState === WebSocket.OPEN)
        {
            socket.send(message.value);
        }
    };
    
    btnStop.onclick = function() {
        if(socket.readyState === WebSocket.OPEN)
        {
            socket.close();
        }
    };
};



с тестовым сокетом связываюсь без проблем.

у меня есть хост(VPS) c доменом. открываю там поддомен. кладу туда файлик с кодом сокета на PHP.

меняю

Код: javascript
1.
2.
 var socket = new WebSocket("ws://echo.websocket.org");
 


на

Код: javascript
1.
 var socket = new WebSocket("ws://поддемен.домен.info/socketServer.php");




соединение пытается открыться, но тут же закрывается с кодом 1006
к сокету надо както подругому обращаться или это на стороне PHP ошибки какие то?
...
Рейтинг: 0 / 0
04.02.2016, 08:49
    #39162597
Areostar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Связаться с сокетом
В сети нащёл вот такой ответ

авторОказалось, это фича, а не баг. В коде (websocket.c):

if (cmd_is_subscribe(cmd)) {
r->keep_alive = 1;
}

Изменение этого параметра решило часть проблем

а где это фаил находится? На сервере?
и Что там должно быть 1 или 0?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Связаться с сокетом / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]