Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2011, 16:16   #1
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию Вопрос по соединению клиентов

Добрый день, уважаемые форумчане!
Пишу онлайн игру для локальной сети.
Есть сервер, с базой mysql. Программа авторизируется через данные таблицы логинов и паролей.
Далее когда заходим играть, в таблице игр заполняются поля ник и ip игрока.
Теперь задача соединять напрямую клиентов для игры в крестики нолики. Есть ip.
Сокеты никак не подходят...Там нужен сервер, клиент..и еще траблы с портами.
Может быть udp? но не знаю...
Подскажите, как будет лучше?
Kudryavtsev вне форума Ответить с цитированием
Старый 17.05.2011, 17:21   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Сокеты никак не подходят...
А чем вам TSocketServer и TSocketClient не угодили?
Человек_Борща вне форума Ответить с цитированием
Старый 17.05.2011, 17:30   #3
Kudryavtsev
Заблокирован
 
Регистрация: 26.04.2011
Сообщений: 39
По умолчанию

возникают траблы когда меняю порт на tsocketclient. Останавливаю правильно, всё равно
Код:
      Client.Active:=False;
      Client.Port:=8080;
     Client.host := IpEd.Text;
     Client.Active:=True;
Плюётся ошибкой что can't change value while socket is active
Kudryavtsev вне форума Ответить с цитированием
Старый 17.05.2011, 17:36   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Ну правильно вы пытаетесь сменить порт у сокета который работает.
С нимми такое не прокатывает. Надо:
1. Отключить сокет
2. Остановить сокет
3. Указать новы порт.
4. Запустить сокет
5. подключить сокет к серверу

Код:
procedure changeSocketPort(aSocket:TClientSocket,nPort:integer);
begin
aSocket.Disconnect;
aSocket.Active:=false;
aSocket.Port:=nPort;
aSocket.Active:=True;
aSocket.Connect;

end;
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Идентификация клиентов TClientSockets ArtGrek Работа с сетью в Delphi 2 28.02.2011 13:36
Запрос активных клиентов mavlon_m SQL, базы данных 4 23.02.2011 11:13
Проверка почты по SSL соединению km-msk Работа с сетью в Delphi 4 14.08.2009 15:37
Сервер и несколько клиентов Andr Работа с сетью в Delphi 10 17.09.2007 09:24
Как узнать логин и пароль к dial-up соединению? ikonup Помощь студентам 2 25.01.2007 15:40