Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Всем привет. Пришла идея создать браузерную игру после просмотра одного фильма. Кратко об игры: - люди заходят в комнату и ставят деньги на игроков; - игроки становятся в круг, им раздаются патроны и пистолеты; - по команде патроны заряжают в барабан пистолета, крутят барабан; - потом звучит команда - "стрелять", люди стреляют; - те кто не выбыл продолжают игру, выбывшие могут делать ставки; так вот, как видно идея не сложна, но возникает вопрос: как синхронизировать игроков перед и после момента "стрелять", ведь в комнату кто-то раньше зайдет кто-то позже, кто-то в одном часовом поясе сидит, кто-то в другом ? п.с. Клиентом (мордой GUI) по сути может быть что угодно, это и сам браузер с HTML и Silverlight/Flash, проблема у всех одна, синхронизация игроков. Взаимодействие Клиента и Сервера предполагает использование WCF WebService, т.е. никаких сокетов. Высказывайтесь господа, нужна ваша помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 20:21 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Синхронизировать ничего не нужно - движок должен крутиться на сервере, а там время одно. Смотрим сюда: 9509403 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 20:33 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, авторWcfTicketing\WcfTicketingService\WcfTicketingService.csproj' cannot be opened. The project type is not supported by this installation. что это за тип проекта ? открываю на рабочем буке где стоит Visual Studio Web Developer 2010 Express ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:06 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Microsoft Visual Studio 2010 (Ultimate) уТКаVisual Studio Web Developer 2010 Express Выбросьте в мусорку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:11 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУMicrosoft Visual Studio 2010 (Ultimate) уТКаVisual Studio Web Developer 2010 Express Выбросьте в мусорку. мне на зарплату еле наскребают 10к рупи в месяц, а ты говоришь выброси... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:15 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКамне на зарплату еле наскребают 10к рупи в месяц, а ты говоришь выброси... Варианты: Прекращаем строить из себя девственницу и качаем с торрентов Создать новый солюшен в Visual Studio Web Developer 2010 Express и скопипастить классы Забить на программирование, заняться земледелием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:20 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, лежа на диване открывалось в Express версии. запустил. земледелием уже начну на днях заниматься, а проект с игрой просто попробовать хочется. по сабжам из ссылки уже подумалось что речь пойдет о WCF Duplex, но нет, в проекте NetTCP - это пожалуй единственное чего я не глядел. спасибо за наводку ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:30 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКаподумалось что речь пойдет о WCF Duplex, но нет, в проекте NetTCP - это пожалуй единственное чего я не глядел. Да, дуплекс - это как альтернатива. Но, по мне красивее написать свой честный CallbackContract (ITicketCallBack в примере). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:42 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, блин. чего избегали, на то и напоролись. главная причина по которой не хотелось использовать Сокеты - это ограниченное кол-во портов на которых может работать Клиент сначала хотелось на Сильверлайт реализовать. Так вот, посмотрел чего там предлагает WCF NET.TCP - это те же самые сокеты только через wcf-сервисы. есть другое предложение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 21:47 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
NetTcpBinding Заметкииспользуемая по умолчанию конфигурация для TCP быстрее при обмене сообщениями между конечными точками, чем конфигурация по умолчанию для привязок HTTP <netTcpBinding> maxConnectionsЦелое число, указывающее максимальное число входящих и исходящих подключений, которые будут созданы/приняты службой. Входящие и исходящие подключения считаются относительно отдельного предела, определенного этим атрибутом. Входящие соединения сверх указанного предела помещаются в очередь и обрабатываются по мере освобождения ресурсов . Исходящие соединения сверх указанного предела помещаются в очередь и обрабатываются по мере освобождения ресурсов . Значение по умолчанию — 10. listenBacklogПоложительное целое число, указывающее максимальное число каналов, ожидающих принятия прослушивателем. Соединения сверх этого лимита помещаются в очередь и обрабатываются по мере освобождения ресурсов. Атрибут connectionTimeout ограничивает время, в течение которого клиент ожидает установления соединения до создания исключения подключения. Значение по умолчанию — 10. Так же читать про буферные пулы. P.S. Какие к чёрту сокеты? Какое ограниченное кол-во портов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 22:02 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Там всё красиво и умное реализовано через пулы и очереди. Программисту не нужно понимать эту рутинную и сложную систему работы NetTcpBinding. Просто берём, конфигурим и работаем. А оно само там пулится и распихивается по очередям. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 22:05 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, то что можно конфигурировать пул - это хорошо. я про другое - сам Сильвер ограничен по портам, через которые можно производить коммуникации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 22:15 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКасам Сильвер ограничен по портам, через которые можно производить коммуникации. Ссылка на документацию будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.01.2011, 23:13 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, да вот выдержкаOne additional restriction on using the sockets classes is that the destination port range that a network application is allowed to connect to must be within the range of 4502-4534. These are the only destination ports allowed by a connection from a Silverlight application using sockets. If the target port is not within this port range, the attempt to connect will fail. It is possible for a target server to receive connections on a port from this restricted range and redirect it to a different port (a well-known port, for example) if this is needed to support a specific existing application protocol. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 00:27 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКа, ок спасибо. Ну так а какие могут быть проблемы использования клиентами одного порта из указанного перечня? Все будут ломиться по одному порту, всё чинно и благородно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:01 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУуТКа, ок спасибо. Ну так а какие могут быть проблемы использования клиентами одного порта из указанного перечня? Все будут ломиться по одному порту, всё чинно и благородно. За одним маленьким "но" - в 90% случаев огнестенки просто пошлют все эти SL в далекое пешее путешествие. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:10 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, ну если пул не будет захлебываться и заботиться о нем действительно не нужно, то дай бог, земледелие отложу до худших времен :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:11 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
В 4-м SL есть сокеты без ограничения на номера портов http://msdn.microsoft.com/ru-ru/library/system.net.sockets(v=vs.95).aspx Плюс, поддержка многоадресной рассылки UDP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:27 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Верблюд, ну ну, для тех кто по англицки не понимает, выдержка отсюда : выдержкаОдно дополнительное ограничение использования классов сокетов заключается в том, что диапазон целевого порта, к которому разрешено подключение сетевого приложения, должен находиться в пределах диапазона 4502-4534. Это единственные целевые порты, разрешенные подключением из приложения Silverlight с помощью сокетов. Если целевой порт не обнаружен в этом диапазоне портов, попытка подключения завершится неудачей. Целевой сервер может получать соединения по порту из этого ограниченного диапазона и перенаправлять их на другой порт (известный порт, например), если это необходимо для поддержки конкретного протокола существующего приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:34 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКа, специально для тех, кто за буквами не видит текста. Ссылка та же. авторВ Silverlight версия 4 доверенным приложениям также предоставлено разрешение на использование сетевых классов в пространстве имен System.Net.Sockets, включая новые классы UdpAnySourceMulticastClient и UdpSingleSourceMulticastClient без проверки политики. Доверенное приложение способно создавать TCP-подключение к любому порту любого узла, при этом файл политики междоменной связи не требуется. Целевой порт больше не должен находиться в диапазоне 4502-4534. Аналогичным образом доверенное приложение, использующее классы UdpAnySourceMulticastClient и UdpSingleSourceMulticastClient, может присоединиться к любой группе многоадресной рассылки через любой порт больший или равный 1024, при этом нет необходимости, чтобы ответчик авторизовал подключение. Чтобы воспользоваться преимуществами этих изменений не требуются дополнительные вызовы методов. Существующие методы не требуют проверок политики при запуске приложения вне браузера с повышенным уровнем доверия как доверенного приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 01:38 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
Верблюд, подними глаза выше и читай внимательно: MSDNВ Silverlight версия 4 доверенным приложениям также предоставлено разрешение на использование сетевых классов... где гарантия что пользователь захочет ставить/инсталлировать приложение?! вот нашел пример со статьей по использованию Silverlight 4 + WCF NET.TCP правда пришлось немного постараться чтобы заработало, но работает. Модератор: уТКа и Верблюд, спокойнее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 02:19 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКа MSDNВ Silverlight версия 4 доверенным приложениям также предоставлено разрешение на использование сетевых классов... где гарантия что пользователь захочет ставить/инсталлировать приложение?! Как это коррелирует с тем, что целевой порт (в SL4) обязан находиться в диапазоне 4502-4534? уТКа вот нашел пример со статьей по использованию Silverlight 4 + WCF NET.TCP правда пришлось немного постараться чтобы заработало, но работает. Чем этот пример лучше приведенного мною на чистых TCP коллбеках? Более того, я изначально писал и о дуплексе как варианте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 02:54 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
МСУ, О мой бог... авторКак это коррелирует с тем, что целевой порт (в SL4) обязан находиться в диапазоне 4502-4534? Доверенным (читать как Установленным) снимаются ограничения, тем что вы запускаете из браузера без предварительной установки доступ к сокетам есть, но с ограничениями по целевому порту. авторЧем этот пример лучше приведенного мною на чистых TCP коллбеках? Более того, я изначально писал и о дуплексе как варианте. Фишка в том что это так называемый "Self hosted" сервер в виде веб-приложения, откомпилили, закинули на хостинг и все, запускать ничего не нужно, просто работать как с wcf-сервисом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 03:01 |
|
||
|
Синхронизация Клиент(а/ов)
|
|||
|---|---|---|---|
|
#18+
уТКаДоверенным (читать как Установленным) снимаются ограничения, тем что вы запускаете из браузера без предварительной установки доступ к сокетам есть, но с ограничениями по целевому порту. Рузультат Application.Current.Install() будет являться гарантией? Жёсткий инсталл-таки, не дадим дальнейшего использования, пока результат не будет равен true. уТКаФишка в том что это так называемый "Self hosted" сервер в виде веб-приложения, откомпилили, закинули на хостинг и все, запускать ничего не нужно, просто работать как с wcf-сервисом. Хостить WCF можно как угодно, речь не об этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.01.2011, 03:12 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=37045361&tid=1442523]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
29ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 300ms |

| 0 / 0 |
