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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2013, 23:07   #1
stalker1995s
Gamedeveloper
Форумчанин
 
Аватар для stalker1995s
 
Регистрация: 11.07.2012
Сообщений: 149
Сообщение Socket'ы

Всем снова привет, уже два раза задал такой вопрос, но видимо не правильно.
Помогите пожалуйста, сделать следующие, при подключении ClientSocket, сервер выдает ему ID по которому, можно отослать ему Личное сообщение, и отключить от сервера. Помогите пожалуйста!
stalker1995s вне форума Ответить с цитированием
Старый 02.01.2013, 23:12   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Вот вам секрет:
Сервер сам выдает ID вы ничего давать не должны и не нужно оно вам.

Коли уж так надо, пишите простенький протокол:
После подключения, сервер отправляет текст: "HLLO <тут ID>"
клиент принимает, запоминает и отвечает "RECV OK"
Человек_Борща вне форума Ответить с цитированием
Старый 02.01.2013, 23:32   #3
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Хендл в качестве идентификатора не пойдет?
ServerSocket1.Socket.Connections[i].Handle

Закрыть соединение ServerSocket1.Socket.Connections[i].Close;

Послать текст ServerSocket1.Socket.Connections[i].SendText('Сообщение');
Принять текст s:=ServerSocket1.Socket.Connections[i].ReceiveText;

ну и тоже самое есть у клиента. только у сервера в отличие от клиента юзается мультисокет. а у клиента один поэтому для клиента так:
ClientSocket1.Socket.SendText('Сооб щение');
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Старый 03.01.2013, 13:59   #4
stalker1995s
Gamedeveloper
Форумчанин
 
Аватар для stalker1995s
 
Регистрация: 11.07.2012
Сообщений: 149
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Вот вам секрет:
Сервер сам выдает ID вы ничего давать не должны и не нужно оно вам.

Коли уж так надо, пишите простенький протокол:
После подключения, сервер отправляет текст: "HLLO <тут ID>"
клиент принимает, запоминает и отвечает "RECV OK"
Понимаете ли, Id нужен для отправки личного сообщения, и для системы Kick.. Не знаю как сделать

Последний раз редактировалось stalker1995s; 03.01.2013 в 14:07.
stalker1995s вне форума Ответить с цитированием
Старый 03.01.2013, 14:23   #5
Лубышев
Участник клуба
 
Аватар для Лубышев
 
Регистрация: 23.07.2007
Сообщений: 1,054
По умолчанию

Тогда нужна авторизация и база данных где будет храниться логин и пароль. при коннекте вы связываете хэндл с id юзера из БД и все норм. не понимаю в чем проблема. ну отвалился клиент допустим и снова коннектится так ему опять логин и пароль предлагаете ввести и снова связываете хэндл соединения с id в базе
Писано по д'Эльфийски
Лубышев вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Socket'ы и Pthread'ы на C Angriff C/C++ Сетевое программирование 4 19.05.2012 21:21
Запрос серверу на передачу файла клиенту (Socket'ы) Nibelim C++ Builder 1 13.03.2012 09:12
Socket'ы Mu$T@nG Помощь студентам 4 19.07.2010 20:58