Вниз
Скачать: CL | DM;

TIdTCPServer - узнать IP или имя кто к нему приконнектился...   Найти похожие ветки 

← →
Layner ©   (2006-11-17 11:43) [0]

В примере "IdTCPDemo" у них видимо ошибка, вместо имени клиента возвращается имя сервера... как следствие, не понятно, кто законнектился...

procedure TServerFrmMain.ServerConnect(AThread: TIdPeerThread);
var
 NewClient: PClient;
begin
 GetMem(NewClient, SizeOf(TClient));

{! в сл. строке не точность...}
 NewClient.DNS         := AThread.Connection.LocalName; {! возвращает имя сервера, а не клиента!}
 NewClient.Connected   := Now;
 NewClient.LastAction  := NewClient.Connected;
 NewClient.Thread      :=AThread;

 AThread.Data:=TObject(NewClient);

 try
   Clients.LockList.Add(NewClient);
 finally
   Clients.UnlockList;
 end;
 Protocol.Lines.Add(TimeToStr(Time)+" Connection from ""+NewClient.DNS+""");
end;


← →
Layner ©   (2006-11-17 11:56) [1]

Дошло :)
AThread.Connection.Socket.Binding.PeerIP


← →
Сергей М. ©   (2006-11-17 11:57) [2]

Клиент не обязан фигурировать в DNS, так что затея вряд ли оправдана.
Гораздо полезней знать IP-адрес клиента, нежели имя его хоста, которого может и не быть.

А вот это

Protocol.Lines.Add

делать в дан.контексте не допустимо - обработчик иполняется в контексте потока AThread, а не в основном потоке


← →
Reindeer Moss Eater ©   (2006-11-17 11:57) [3]

AThread.Connection.LocalName; {! возвращает имя сервера, а не клиента!}

А с какого перепугу локалнэйм серверного треда должно быть клиентом?


← →
Layner ©   (2006-11-17 13:08) [4]

Reindeer Moss Eater ©   (17.11.06 11:57)
Может я что не понял, но если у меня логинятся 3 клиента, а в СЕРВЕРЕ пишется 3 раза

10:35:59 Connection from "Vasia" (Это конект с машины 192.168.0.51)
10:36:59 Connection from "Vasia" (Это конект с машины 192.168.0.52)
10:37:59 Connection from "Vasia" (Это конект с машины 192.168.0.53)

Или пример такой... в общем не удобно, переделал :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.026 c
2-1178633296
Regent
2007-05-08 18:08
2007.05.27
Вопрос по диалогу.


2-1178709554
Alon121
2007-05-09 15:19
2007.05.27
Открытый массив для записей


2-1178242703
porting
2007-05-04 05:38
2007.05.27
sendkey в неактивном окне как hotkey


15-1177959188
Riply
2007-04-30 22:53
2007.05.27
Проверка дискеты на наличие плохих блоков.


15-1177594992
grisme
2007-04-26 17:43
2007.05.27
Матрица поворота




   Наверх