undermuz
@undermuz
Full-Stack Developer

Использование WebSocket JS в Приложение магазина Windows 8.1. Где ошибка?

Есть скрипт на php работающий с WebSocket, писал сам т.к. на момент написания не было готовых решений

Инициализация:
$host = '192.168.10.225'; //host
$port = '3994'; //port

//Create TCP/IP sream socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//reuseable port
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);

//bind socket to specified host
socket_bind($socket, 0, $port);

//listen to port
socket_listen($socket);


И код клиента(Своя обертка над WebSocket):
Socket.bind('open', function () {
            Socket.send({ name: 'alex', status: 'online' });
        });

        Socket.init("ws://192.168.10.225:3994/shell/rest.sock.php");
...
var Socket = (function(){
    var socket;

    var self = {
        init: function(host){
            socket = new WebSocket(host);
    
            socket.onopen    = function(e){ callEventList('open', e) };
            socket.onmessage = function(e){ callEventList('message', e) };
            socket.onclose   = function(e){ callEventList('close', e) };
        },
        send: function (msg) {
...


Работает везде: chrome/opera/ie/andoid/ios

Но при попытке соединиться в Windows store app js, выдает ошибку:
SCRIPT12029: WebSocket Error: Network Error 12029, Не удается установить связь с сервером
Что довольно странно т.к. тот же код работает в ie

Подскажите где может быть ошибка и куда копать?
  • Вопрос задан
  • 2762 просмотра
Решения вопроса 1
undermuz
@undermuz Автор вопроса
Full-Stack Developer
Сам нашел решение:

Надо добавить вот это в манифест приложения ( .appxmanifest ):

<Capabilities>
    <Capability Name="internetClient" />
    <Capability Name="privateNetworkClientServer" />
  </Capabilities>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы