2010-12-10 3 views
0

В настоящее время у нас есть приложение Silverlight (вид игры), и нам нужно добавить больше функций, требующих большего взаимодействия с сервером.Silverlight 4 в реальном мире - связь с сервером

В настоящее время мы все взаимодействуем по HTTP-запросам данных с сервера, а затем обрабатываем на клиенте - хорошо работает, пока у нас не будет много запросов или больше данных, возвращаемых.

Сокеты в Silverlight работают только с номерами портов от 4502 до 4534, есть ли способ сделать эту работу в Интернете? Способ позволить пользователю просто принять и открыть порт?

Что фактически блокирует диапазон портов?

========

Просто добавить, это Somthing, что возможно в Java (http://homepages.uel.ac.uk/2795l/pages/socketap.htm)

ответ

1

Единственный способ добиться этого - прокси на сервере или какая-то переадресация портов, происходящая на сервере.

Это не может быть выполнено на стороне клиента самостоятельно.

Что фактически блокирует диапазон портов, является временем выполнения SL. Он делает это по соображениям безопасности.

В действительности использование сокетов в приложении на базе Интернета обеспечит некоторые препятствия, в первую очередь, необходимость того, чтобы брандмауэр разрешил открывать порты 4502-4534 для связи с Silverlight. Это одна из причин того, что использование сокетов используется больше в приложении Intranet, где необходимость открытия портов не существует (по большей части). Поскольку Silverlight определил эти порты как средство связи для своей среды выполнения, он по крайней мере дает администраторам некоторый контроль над этим диапазоном; по сравнению с тем, что позволяет время выполнения работать на любом заданном количестве портов.

+0

@aaron, так что если порт находился в правильном диапазоне, в Интернете, что бы пользователь увидел? – LiamB 2010-12-11 17:18:15

Смежные вопросы