Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > клиент\сервер.......


Автор: X-Vlad 11.11.2002, 02:22
Привет всем у меня к вам вопрос:
как написать програмулю:
сервер и клиент чтобы в серверной программе нажимал на кнопке, а в клиенте на другом компе появлялось сообщение или выполнялась какая-то процедура?
спасибо.....  :notify

Автор: Dayana 11.11.2002, 02:26
Используй TClientSocket и TServerSocket, только на кнопку тебе надо на клиентской части нажимать, а отвечать (реагировать) будет серверная часть

Автор: X-Vlad 11.11.2002, 03:45
а примерчик можна? я знаю что пользоватся надо TClientSocket и TServerSocket могу установить связь между клиентом и сервером и поставить обработку собити на OnConect и OnDisconect а каким образом вызывать процедуры когда постоянный конект?
например как в и-нет клубах?

Автор: Spawn 12.11.2002, 02:47
Цитата(X @ 10.11.2002, 19:45)
а примерчик можна? я знаю что пользоватся надо TClientSocket и TServerSocket могу установить связь между клиентом и сервером и поставить обработку собити на OnConect и OnDisconect а каким образом вызывать процедуры когда постоянный конект?
например как в и-нет клубах?

в обработчике события OnRead пишеш например так:

сначала принимаеш сообщение
InetMessage:=ClientSocket1.Socket.Receive... //смотря с чем работаеш - ReceiveText, ReceiveBuf, ReceiveStream
а затем, например, так:

case InetMessage of
1:Form1.Visible:=False;
2:Form1.Visible:=True;
3:ShowMessage('Привет');
и т.д.(сдесь могеш ставить обработчики, которые тебе нужны)

Автор: X-Vlad 12.11.2002, 05:00
скажите на клиентскую прогу ставить: TClientSocket или TServerSocket
и ещё вопрос если у меня пять клиентов как различать их?
например у одного время вышло и мне надо его вырубить....

Автор: Spawn 12.11.2002, 14:32
Цитата(X @ 11.11.2002, 21:00)
скажите на клиентскую прогу ставить: TClientSocket или TServerSocket
и ещё вопрос если у меня пять клиентов как различать их?
например у одного время вышло и мне надо его вырубить....

Ну я думаю на клиентскую часть надо ставить TClientSocket))))) Свойство сервера ActiveConnections позволяет определить количество активных соединения на данный момент. Послать сообщение от сервера можно какому либо клиенту можно так: ServerSocket1.Socket.Connections[n].SendText()   //Buf(), Stream()
где n номер соединения.

Автор: man2002ua 12.11.2002, 20:08
а примерчик бери из ..\DEMOS\Internet\Chat
:sarcasm

Автор: MadGhost 20.11.2002, 17:14
Цитата
ServerSocket1.Socket.Connections[n].SendText()   //Buf(), Stream()


весь вопрос в том как определить какой клиент какое соединение поддерживает?

т.е. логика работы нужна, скажем есть у меня 10 клиентов, хочу послать одному из них (как авторизовать его на сервере, чтобы он имел уникальный номер), сообщение, он скажем имел номер 5, потом 3 клиент отсоединился, и наверняка коннекты перегрупировались вниз.

т.е. как мне различать клиентов не по номеру коннекта, а по чему то другому?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)