Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.05.2011, 19:20
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание Расскажите примерно как осуществить)))

Вот появилась идея написать небольшую онлайн игру для двух человек))) Скажите пжл мультиплеер можно написать на clientsocket и serversocket))) Игра простейшая - два Shape бегают друг за другом по форме)) Объясните пжл как примерно можно сделать обмен данными между двумя программами (Клиент, сервер), чтобы все что происходит на сервере, отображалось у клиента и наоборот.
Пример: игрок на сервере передвинул shape вперед, все его действия отобразились у клиента...
Заранее спасибо!!
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
  #2  
Старый 12.05.2011, 19:50
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

вот тут что то обсуждалось
Ответить с цитированием
  #3  
Старый 12.05.2011, 21:05
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

Что-то я там ничего не понял...

Сервер:
Код:
s:=Socket.Receivetext;
memo2.Lines.insert(0,s);
if copy(s,1,2)='#p' then
begin
//генерация нового пакета сервера
ServerSocket1.Socket.Connections[0].SendText(s); //передача клиенту
//обработка принятого пакета
end;

Клиент:
Код:
s:=Socket.Receivetext;
if copy(s,1,2)='#p' then
begin
//генерация пакета от клиент
ClientSocket1.Socket.SendText(s); //передача серваку
//обработка принятого пакета от сервака
end;

что за переменная s?? Можете объяснить, а то не понятно мне... Заранее спасибо...
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
  #4  
Старый 12.05.2011, 21:13
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

читай с конца, там поймешь..
В общем нужно передавать структурированные данные. Сервер эти данные принимает, а потом тиражирует по клиентам. клиенты принимают и отрисовывают
Ответить с цитированием
  #5  
Старый 12.05.2011, 21:54
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

Цитата:
Сообщение от Pilot_Red
читай с конца, там поймешь..
В общем нужно передавать структурированные данные. Сервер эти данные принимает, а потом тиражирует по клиентам. клиенты принимают и отрисовывают

Ты не мог бы выкинуть исходник клиента и сервера или свои танчики))) А то я не понимаю))) Я занимаюсь программированием всего месяца 3))

2300 пакетов в секунду передавать это уж слишком)))

Вот навсякий передвижения Shape///

Код:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  DoubleBuffered := True; // двойная буфферизация, чтобы не моргали компоненты на форме
if Key = VK_RIGHT then
  Shape1.Left := Shape1.Left + 1; // перемещаем вправо
if Key = VK_LEFT then
  Shape1.Left := Shape1.Left - 1; // перемещаем влево
if Key = VK_DOWN then
  Shape1.Top := Shape1.Top + 1; // перемещаем вверх
if Key = VK_UP then
  Shape1.Top := Shape1.Top - 1;  // перемещаем вниз
end;

Напиши пжл код для мультиплеера...

А команды нельзя передавать, например когда я двигаю shape вверх создается определенный пакет c командой, он передается клиенту, там расшифровывается и у клиента двигается shape)) это была моя первая идея))
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...

Последний раз редактировалось link993, 12.05.2011 в 22:04.
Ответить с цитированием
  #6  
Старый 12.05.2011, 22:02
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от link993
Ты не мог бы выкинуть исходник клиента и сервера или свои танчики))) А то я не понимаю))) Я занимаюсь программированием всего месяца 3))

2300 пакетов в секунду передавать это уж слишком)))

Танчиков к сожалению уже нет, ибо писал я еще их во времена динозавров

Попробуй сначала сам поразбираться, простейшее сделать, например чат, в любой книге по делфи это описывается... если поймешь то, сам допрешь как свое замутить... если будут вопросы задавай не стесняйся.
Ответить с цитированием
  #7  
Старый 12.05.2011, 22:25
link993 link993 вне форума
Прохожий
 
Регистрация: 08.05.2011
Сообщения: 36
Репутация: 10
Восклицание

давай я попробую всетаки на командах сделать)) потом если получится дам тебе исходник протестируешь)) И еще такой вопрос, каким снифером отслеживать отправляемые пакеты??
__________________
Я не поэт, но я скажу стихами: "Пошли вы нах*(пииии)уй мелкими шажками" Люди эт я шучу...
Ответить с цитированием
  #8  
Старый 13.05.2011, 03:03
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

попробуй с помощью команд! Методом проб и ошибок в конце концов к чему-нибудь придешь. На с счет снифинга не в курсе

Последний раз редактировалось Pilot_Red, 13.05.2011 в 17:09.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:10.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025