-
IdTCPServerConnect(AThread: TIdPeerThread); var s: STRING; begin s := AThread.Connection.LocalName; end;
здесь s должна быть имя удаленного компа или локального??? У меня показывает локального. Как получить имя удаленного компа???
Indy 9
-
> здесь s должна быть имя удаленного компа или локального?
Ни того ни другого. LocalName и RemoteName - это не имена "компов", а имена хостов. Которых, кстати, может и не быть вовсе - только IP-адреса.
-
У меня доменной сеть и есть имена хостов, как узнать хост имя покдлюченного хоста???
-
AThread.Connection.Socket.Binding.PeerIP
-
[3] - это ответ на вопрос "как узнать хост"
> как узнать ..имя покдлюченного хоста
Хост в общем случае не обязан иметь имени, но обязан иметь адрес. Т.е. св-во PeerIP обязано вернуть как минимум IP-адрес удал.хоста, но может вернуть и имя этого хоста, если оно зарегистрировано в обратной DNS-зоне, к которой обращается твой сервер с целью получить это имя.
-
AThread.Connection.Socket.Binding.PeerIP - у меня показывает только IP хоста, а TServerSocket-е Socket.RemoteHost показывает имя хоста
> но может вернуть и имя этого хоста, если оно зарегистрировано > в обратной DNS-зоне, к которой обращается твой сервер с > целью получить это имя.
Как получить имя хоста в Indy???
-
см. IdStack.WSGetHostByAddr()
|