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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2011, 12:28   #1
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию ID соединения в TServerSocket

Как я понимаю в TServerSocket есть массив всех соединений ServerSocket.Socket.Connections[ID], как мне получить этот самый ID во время подключения клиента(OnConnect) или(что более желательно) во время получения сообщения от клиента(OnRead)?
Crystallon вне форума Ответить с цитированием
Старый 28.05.2011, 12:38   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это не идентификатор, а просто номер в массиве.
он может изменяться.
используйте св-во Data для хранения данных.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2011, 13:03   #3
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Это Socket.data? Если можно поподробнее пожалуйста, яндекс ничего дельного про это свойство не сказал =\
Мне просто нужно как-то определить какой клиент отправил пакет и отправить его тому кому он предназначался.
Crystallon вне форума Ответить с цитированием
Старый 28.05.2011, 13:09   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это свойство имеет тип Pointer
в него вы можете записать указатель/объект на что угодно(но не забудьте освобождать память)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.05.2011, 13:53   #5
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Я присваиваю св-ву data ссылку на string переменную которая будет содержать id сокета и некоторые данные о нем(данные о пользователе):
ss.Socket.data := Addr(user_id[500]);
Вроде все нормально, но когда пытаюсь использовать переменную через эту ссылку:
ShowMessage(ss.Socket.data);
мне выдает:
Incompatible types: 'String' and 'Pointer'

Честно говоря я никогда не работал с типом Pointer и не знаю как правильно использовать переменную через ссылку Pointer'а, подскажите пожалуйста что я делаю не так =)
Crystallon вне форума Ответить с цитированием
Старый 28.05.2011, 14:21   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

используйте приведение типов
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.05.2011, 13:10   #7
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
используйте приведение типов
user_id[500]:='123123';
ss.Socket.data := Addr(user_id[500]);
ShowMessage(string(ss.Socket.data)) ;
FreeMem(ss.Socket.data);

Пишу так, в сообщении выходит буква "ё" вместо "123123", в чем проблема?
Crystallon вне форума Ответить с цитированием
Старый 02.06.2011, 13:02   #8
Crystallon
Форумчанин
 
Регистрация: 05.04.2010
Сообщений: 273
По умолчанию

Проблема актуальна, прошу помощи =(
Crystallon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TClientSocket и TServerSocket _-Re@l-_ Работа с сетью в Delphi 2 29.11.2010 16:22
TServerSocket и TClientSocket grafgrial Общие вопросы Delphi 3 25.08.2010 15:15
TServerSocket, TClientSocket prod87 Работа с сетью в Delphi 7 26.10.2009 22:38
TServerSocket goblinyara Работа с сетью в Delphi 4 24.01.2009 10:10