Вызов клиента Websocket из нескольких файлов

У меня есть файл WebSocketClient.html, который правильно реализует соединение через веб-сокет с сервером... В этом файле у меня есть функции, определенные для каждого события веб-сокета, например:

websocket = new WebSocket(wsUri);
websocket.onopen = function(evt) { onOpen(evt) };
websocket.onclose = function(evt) { onClose(evt) };
websocket.onmessage = function(evt) { onMessage(evt) };
websocket.onerror = function(evt) { onError(evt) }; 
function onOpen(evt) { 
    writeToScreen("CONNECTED"); 
    doSend("WebSocket rocks"); 
}
function onClose(evt) { 
    writeToScreen("DISCONNECTED");
}  
function onMessage(evt) { 
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
    websocket.close(); 
} 
function onError(evt) { 
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
} 
function doSend(message) { 
    writeToScreen("SENT: " + message); 
    websocket.send(message); 
} 

Можно ли использовать функции этого файла "WebSocketClient" из других скриптов (PHP, HTML), например, для отправки информации или сообщений на сервер??

т.е. вызвать функцию doSend() "WebSocketClient" из нового файла "User.html"??

т.е. использовать этот файл "WebSocketClient" в качестве своего рода "API" для этого конкретного подключения к веб-сокету??

Заранее спасибо.


person andcl    schedule 05.09.2014    source источник
comment
так вы хотите использовать клиентский скрипт с сервера? вы можете сделать запрос ajax, чтобы получить данные с сервера, а затем передать это через ClientSocket... Я действительно не понимаю, что вы пытаетесь сделать. Веб-сокет находится на клиенте.   -  person RaggaMuffin-420    schedule 05.09.2014
comment
Да, я хотел бы иметь серию сценариев на стороне клиента (HTML, JS и т. д.), которые используют этот файл WebSocketClient.html в качестве вызываемого API для отправки различных сообщений на сервер через этот самый сокет... Это возможно ?   -  person andcl    schedule 06.09.2014


Ответы (1)


Поместите этот скрипт в файл js (например, customWebsocket.js) и получите его в User.html с помощью

<script src="./customWebsocket.js">
person Paul Giragossian    schedule 05.09.2014
comment
Да, но что, если я включу эту строку, которую вы предлагаете, не только в файл (например, User.html, Account.html и Permission.html)? Будут ли 3 сценария использовать один и тот же WebSocket? Или для каждого из них будет создан отдельный WebSocket (т.е. 3 разных WebSocket)? Мне нужен подход только один-WebSocket-для-всех... - person andcl; 06.09.2014
comment
Нет, они не будут использовать то же самое. В настоящее время вы находитесь на стороне клиента, поэтому каждый скрипт создаст свой собственный сокет. - person Paul Giragossian; 06.09.2014
comment
Да, как я и думал. Спасибо. Но мне нужен другой универсальный подход, потому что нужно направлять информацию из нескольких скриптов только через один веб-сокет... - person andcl; 08.09.2014