|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.02.2013, 10:30 | #1 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
clientsocket, присвоить id
Доброе всем утро. Битый час ломаю голову. В гугле найти не могу ничего по этому поводу.
Юзаю Tclientsocket и TServerSocket. Собственно, как присвоить индивидуальный id к каждому подключению, дабы в дальнейшем с ним работать? Как принимать так и отправлять определённому ИДу сообщения. Например: Код:
Последний раз редактировалось _ZixeL_; 10.02.2013 в 10:41. |
10.02.2013, 16:43 | #2 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Уточню.
Есть сервер(я) и 4-5 клиента. Мне надо от них принимать сообщения и распределять по определённым Мемо, например. Как можно это реализовать? Помогите пожалуйста Последний раз редактировалось _ZixeL_; 10.02.2013 в 18:48. |
10.02.2013, 21:00 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Вот недавно с товарищем Ansy работали http://programmersforum.ru/showthread.php?t=225551 посмотрите как там реализовано многоклиентность.
И юзаем поиск - хотя бы по clientsocket - кучу примеров бы уже получили и проверили бы. |
10.02.2013, 23:24 | #4 | |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Цитата:
Но, из вашего обсуждения вообще ничего не ясно. Не силён на столько в делфи. Разве нет простого решения этой задачи? Читал, что есть некая Data:Pointer, которая выдаёт значение уникальному подключению. Но мануалов по этому поводу не нашёл никаких. Юзал поиск по форому, но что мне нужно, так и не нашёл. |
|
11.02.2013, 06:41 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Ну читаем код сервера оттуда, там даже прокомментировано всё, хотя имена переменок не оч.
Конкретно запоминание юзеров по хендлу сокета, по которому они подключаются Код:
Не буду говорить, что единственный способ, в принципе можно придумать много способов, вручную раздавать идентификаторы в событии TServerSocket.OnClientConnect например, да хоть постоянно опрашивать каждого клиента на некий ключ, какой-нибудь GUID Последний раз редактировалось phomm; 11.02.2013 в 06:44. |
11.02.2013, 09:29 | #6 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Спасибо, но не осилил всё ровно >___<
|
11.02.2013, 10:36 | #7 |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
И еще один вопрос: Как организовать переподключение клиента к серверу, при внезапном закрытии сервера?
Я отсылаю пакет от клиента к серверу "toserver", если сервер отвечает "toclient" Значит всё нормально. Но, если я закрываю сервер, и оставляю клиент на ночь с отправками запроса "toserver". То, после запуска сервера, клиент никак не может подключиться. В чём проблема может быть? Делаю так: Код:
Код:
Но вот после простоя клиента, коннект не происходит Последний раз редактировалось _ZixeL_; 11.02.2013 в 10:59. |
11.02.2013, 17:46 | #8 |
Участник клуба Подтвердите свой е-майл
Регистрация: 26.01.2008
Сообщений: 1,897
|
|
11.02.2013, 19:41 | #9 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
что-то заморочно...
зачем клиенту какой то ид? он уже есть в списке подключенных и список доступен... тема сервера какая? очередной чат или что-то серьезное? проект выложи позырить
Не стесняемся, плюсуем!
Последний раз редактировалось Slym; 11.02.2013 в 19:47. |
11.02.2013, 21:02 | #10 | |
Форумчанин
Регистрация: 04.11.2012
Сообщений: 151
|
Цитата:
Я от клиента отправляю серверу сообщение "toserver", если сервер отвечает "toclient" значит выводим в лейб, что мы подключены к серверу. Так вот, если отключить сервер на часов 10, то после запуска клиент не может подключиться. Ошибок никаких не выдаёт. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ClientSocket | rule-z | Работа с сетью в Delphi | 52 | 29.06.2011 08:27 |
ClientSocket | AlexJan | Компоненты Delphi | 5 | 12.09.2010 08:08 |
ClientSocket | misher | Общие вопросы Delphi | 2 | 09.07.2010 15:55 |
Serversocket,clientsocket | prizrak1390 | Работа с сетью в Delphi | 10 | 21.04.2009 16:04 |
Проблема с ClientSocket | Shouldercannon | Работа с сетью в Delphi | 1 | 23.03.2009 14:45 |