![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 26.04.2011
Сообщений: 39
|
![]()
Пишу крестики-нолики для игры по сети. В одном приложении вооплощаю и сервер и клиент. Пользователь выбирает сервер он или клиент. Собственно возникла проблема остановки ServerSocket и Clientsocket для смены портов.
Код: ServerSocket.Active := False; ServerSocket.Close; ServerSocket.Port := 1234; ClientSocket.Active := False; ClientSocket.Close; ClientSocket.Port := 1235; ServerSocket.Active := True; ClientSocket.Active := True; такой код не катит... можете помочь с этими сокетами?) |
![]() |
![]() |
![]() |
#2 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,899
|
![]() Код:
Код:
Код:
Последний раз редактировалось Shouldercannon; 04.05.2011 в 11:07. |
![]() |
![]() |
![]() |
#3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 26.04.2011
Сообщений: 39
|
![]()
Проблема в другом. В программе два компонента ServerSocket и ClientSocket. Нужно сделать возможность выбора - сервер или клиент. Собственно когда выбираю чтобы приложение было серверным, то порты ServerSocket = 8080 а ClientSocket= 8081. Закончилась игра, и игрок захотел подключиться к серверу, собственно нужно сменить порты на ServerSocket = 8081 и ClientSocket= 8080.
Код:
P.s. Остановка сокета и смена портов не помогает...сыпало ошибками. Код:
![]() |
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 26.04.2011
Сообщений: 39
|
![]()
Поможет кто-нибудь?
![]() |
![]() |
![]() |
![]() |
#6 |
Заблокирован
Регистрация: 26.04.2011
Сообщений: 39
|
![]()
Компетентных людей, способных ответить на мой вопрос, на этом форуме нет?)
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
для сервера более правильным будет так(на мой взгляд):
1)согласно протоколу(и если предусмотрено) оповестить клиентов о том что отключение будет(чтоб они приготовились или же отключились) 2)сервер может(может!!!) подождать пока клиенты сами отключатся или же пока сервер закончит обработку клиентов(если нельзя резко оборвать) или отключить их. 3)закрывает серверный порт. для клиента: 1)клиент согласно протоколу сообщает серверу что он отключается 2)ждет разрешение сервера(опционально) если например сервер должен чтото сделать(например выдать результат, который клиент должен сохранить) 3)отключается. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Заблокирован
Регистрация: 26.04.2011
Сообщений: 39
|
![]()
Ну у меня это происходит когда игра закончена и уже все.
Как мне правильно закрыть сокеты, сменить порты и опять их запустить? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ClientSocket и ServerSocket. | Vaigard | Работа с сетью в Delphi | 7 | 19.02.2011 08:56 |
serversocket-clientsocket | ben95 | Работа с сетью в Delphi | 10 | 20.01.2011 08:28 |
ClientSocket и ServerSocket | Hacker19_90 | Работа с сетью в Delphi | 1 | 23.03.2010 01:17 |
ClientSocket и ServerSocket | Blood o men | Работа с сетью в Delphi | 2 | 25.11.2009 11:36 |
Serversocket,clientsocket | prizrak1390 | Работа с сетью в Delphi | 10 | 21.04.2009 16:04 |