Сделай так, чтобы в отправляемом пакете было само сообщение и его хозяин-отправитель.
Код:
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); //тут будет сообщение