PDA

Просмотр полной версии : Соединение peer-to-peer


meps
28.08.2006, 18:13
Можно ли двух flash-клиентов соединить через интернет без использования сервера, исключительно по ip-адресам?

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

Возможно ли средствами flash 8 осуществить соединение peer-to-peer и если нет, то как с минимальными затратами реализовать это с помощью выделенного сервера?

Бармалей
28.08.2006, 18:15
Можно ли двух flash-клиентов соединить через интернет без использования сервера, исключительно по ip-адресам?

нет

Если нет, то как с минимальными затратами реализовать это с помощью выделенного сервера?

Написать свой простой сокет-сервер.

Artem Brigert
28.08.2006, 18:47
Написать свой простой сокет-сервер.

или взять чужой

FourSide
28.08.2006, 19:21
Для такой игры необязательно создавать демон и открывать порт. Достаточно раз в, например, 15 секунд опрашивать сервер на наличие ходов.
Я так делал шашки - не та задача для сокетов.

Бармалей
28.08.2006, 19:26
Для такой игры необязательно создавать демон и открывать порт. Достаточно раз в, например, 15 секунд опрашивать сервер на наличие ходов.
Я так делал шашки - не та задача для сокетов.
Ну это смотря на какое количество одновременных юзеров расчитана игра. При большом их количестве, для экономии трафика да и вообще для разгрузки сервера лучше использоватьсокет.

meps
29.08.2006, 08:42
или взять чужой

А какие есть чужие серверы? Мне нужен хоть какой-нибудь пример простейшего сервера под FreeBSD, разумеется в исходниках :rolleyes:

meps
29.08.2006, 08:47
Ну это смотря на какое количество одновременных юзеров расчитана игра. При большом их количестве, для экономии трафика да и вообще для разгрузки сервера лучше использоватьсокет.

Пока только два игрока. А с выделенным сервером их уже хоть сколько будет -- он тогда сам раздаст очередность и будет активировать интерфейс клиента, у которого идет ход. Правда, когда игроков будет более 2х, синхронным обменом дело не обойдется.

Значит нельзя напрямую делать обмен через клиентские модули... Очень жаль.

Artem Brigert
29.08.2006, 10:54
Мне нужен хоть какой-нибудь пример простейшего сервера под FreeBSD, разумеется в исходниках :rolleyes:

а может тебе ещё чего нибудь нужно? ты говори не стесняйся


правда, когда игроков будет более 2х, синхронным обменом дело не обойдется.


я незнаю как у тебя ,а у меня можно.

meps
29.08.2006, 14:48
а может тебе ещё чего нибудь нужно? ты говори не стесняйся

Огромное спасибо за оказанную неоценимую квалифицированную помощь! Мне, право, как-то уже неудобно просить о бОльшем...

Artem Brigert
29.08.2006, 14:52
в интернете есть миллион примеров сокет серверов .... и если ты не можешь пользоваться поисковиками то тебе уже не помочь

meps
29.08.2006, 16:11
в интернете есть миллион примеров сокет серверов .... и если ты не можешь пользоваться поисковиками то тебе уже не помочь

Артем, тебя в детстве недолюбили родители? А я-то тут при чем? Не надо быть таким нервным. Если человек просит о помощи, это еще не повод для того, чтобы пытаться его оскорбить эдак свысока, по-папски. Ты вообще в этой теме (на форуме) что делаешь -- помогаешь или самоутверждаешься?

Если ты пишешь "или взять чужой", то приведи ссылку или закинь исходник, которым сам пользовался. Неужели это настолько трудно сделать? Если это трудно, то зачем вообще было встревать в тему -- только чтобы показать, что ты в курсе дела, да и вообще умный парень? АБСОЛЮТНО ВСЯ информация есть в книгах и сети -- может тогда просто позакрывать все форумы?

Я вполне однозначно дал понять, что от тебя НЕ жду никакой помощи. Человеку, который не понимает намеков, уже не помочь... Еще раз спасибо за содержательные сообщения и оказанную поддержку.

В дальнейшем диалоге не вижу смысла.

etc
29.08.2006, 16:19
meps, есть такая вещь, как Google. Написать в нём socket server for flash может любой, кроме вас.

Artem Brigert
29.08.2006, 16:21
вам на блюдечке с голубой каёмочкой подать?

Nirth
29.08.2006, 18:32
Уважаемый пользователь на будущее знайте:
Тут все любят гугл, если вы не любите гугл, мы вас не любим.
Тут все перед тем как задать вопрос, открывают гугл и потратят от 5ти минут до 2х часов на поиски, если вы этого не делаете, мы вас не любим.
Тут не учат других жить, если вам не нравится поведение Артема, мы вас не любим.

тема перенесена в раздел для новичков и гуглофобов.

Dendroid
29.08.2006, 21:01
Не слушай их, писать свой сервер для простой карточной игры - это как... как учить 3D Studio Max для одного эффекта во флэш-меню :)
Лучше использовать Flash Media Server (либо дорого, либо нагло), или Red5 (бесплатно, да и сорцы есть).
Там для карточной игры надо-то всего два shared-объекта открыть :)

Nirth
29.08.2006, 22:34
только для обоих нужен выделеный сервак это 200 баксов в месяц минимум =)

Dendroid
29.08.2006, 23:11
Может у него свой сервак? :) А swf-ки можно сложить и на бесплатный хостинг...
К тому же даже хорошие места с FCS есть гораздо дешевле $200: http://www.mediatemple.net/services/webhosting/flashcom/shared/matrix/
А уж найти, где можно поднять red5 практически забесплатно - и того проще :)

Бармалей
30.08.2006, 09:24
Как мне надоели разговоры людей, сроящих грандиозные планы, и при этом желающие сэкономить буквально на всем. Даже на сервере для собственного проекта. 2 Dendroid, а что будет, если бесплатный хостер прикроет лавочку? Или уйдет в даун?

FMS, как и Red5, со всей своей "готовностью" требует доработки - написания специальных приложений, которые будут логически обрабатывать поступающие от клиентов данные и рассылать соответствующие события.

Да и вообще, сокетом может являтся простой PHP файл, запущенный в цикле.

Все зависит от масштабов проекта.

Artem Brigert
30.08.2006, 11:31
2 Dendroid, а что будет, если бесплатный хостер прикроет лавочку? Или уйдет в даун?

flashmaster.ru


Да и вообще, сокетом может являтся простой PHP файл, запущенный в цикле.

да, а я всегда почему-то думал что в php есть поддержка сокетов для таких целей :quiet: :D

Бармалей
30.08.2006, 12:36
да, а я всегда почему-то думал что в php есть поддержка сокетов для таких целей :quiet: :D

Да неважно, это не меняет сути. В любом случае придется писать_с_нуля/дописывать сокет под свои цели.

etc
30.08.2006, 13:19
Сокет на php — зло. Хотя удачные примеры есть.
Только вот такие вот сокет-серверы редкий хостер (если на вирт. хосте) позволит у себя запускать...

Artem Brigert
30.08.2006, 13:21
Сокет на php — зло

СОГЛАСЕН НА 100%

Бармалей
30.08.2006, 14:55
Сокет на php — зло.
Солидарен. =)
++