![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Создаю сетевое приложение на основе TServerSocket и TClientSocket.
допустим у меня 3 клиента подключены к серверу, и второй отправляет строку. Как на сервере узнать кто отправил строку? |
|
#2
|
|||
|
|||
|
Дописать в начало строки имя клиента
|
|
#3
|
||||
|
||||
|
Сделай так, чтобы в отправляемом пакете было само сообщение и его хозяин-отправитель.
Код:
ServerSocket1.Socket.Connections[i].SendText('NickName#'+'Само сообщение#');А со стороны принимающего(в моем случае клиента), обрабатывай пакет разделяя нужное. Код:
procedure TForm1.ClientSocket1Read(Sender: TObject;Socket: TCustomWinSocket);
var
Rtext: String;
begin
Rtext := Socket.ReceiveText;
Edit1.Text:= Copy(Rtext, 0, Pos('#', Rtext) -1); //тут будет имя
Delete(Rtext, 1, Pos('#', Rtext));
Edit2.Text := Copy(Rtext, 0, Pos('#', Rtext) -1); //тут будет сообщение |