Розетка Silverlight - PullRequest
       10

Розетка Silverlight

1 голос
/ 26 мая 2010

Я пытаюсь подключить клиент Silverlight к серверу сокетов и продолжаю получать следующую ошибку:

Была сделана попытка получить доступ к сокету в пути, запрещенном его доступом разрешения.

Я считаю, что мне нужно указать clientaccesspolicy.xml через сервер сокетов или путь http://:80/clientaccesspolicy.xml со следующей опцией

args.SocketClientAccessPolicyProtocol = SocketClientAccessPolicyProtocol.Http

Я не могу запустить это. Есть предложения?

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Au наоборот, сокеты широко поддерживаются в Silverlight. Есть определенные ограничения, особенно те, с которыми я столкнулся и преодолел. Порты 4502-4534 являются единственными портами, к которым вы можете подключиться, и вам необходимо предоставить clientaccesspolicy.xml через другой сервер сокетов на той же машине, к которой вы подключаетесь через порт 943.

Мое решение: На сервере добавлен выделенный сокет-сервер для предоставления следующего файла clientaccesspolicy.xml при подключении клиента:

<?xml version="1.0" encoding="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from http-request-headers="*">
        <domain uri="*" />
      </allow-from>
      <grant-to>
        <socket-resource port="4502-4534" protocol="tcp" />
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>
0 голосов
/ 26 мая 2010

Вы не можете. Было бы бессмысленно ограничивать номера портов TCP в браузере, если бы вы могли обойти эти ограничения.

...