Конференция "Сети" » Имя компа в Indy [D6, WinXP]
 
  • dan (06.01.09 12:38) [0]
    IdTCPServerConnect(AThread: TIdPeerThread);
    var
      s: STRING;
    begin
     s  := AThread.Connection.LocalName;
    end;

    здесь s должна быть имя удаленного компа или локального??? У меня показывает локального. Как получить имя удаленного компа???

    Indy 9
  • Сергей М. © (06.01.09 15:36) [1]

    > здесь s должна быть имя удаленного компа или локального?


    Ни того ни другого.
    LocalName и RemoteName - это не имена "компов", а имена хостов.
    Которых, кстати, может и не быть вовсе - только IP-адреса.
  • dark_volk (07.01.09 19:30) [2]
    У меня доменной сеть и есть имена хостов, как узнать хост имя покдлюченного хоста???
  • Сергей М. © (07.01.09 20:52) [3]
    AThread.Connection.Socket.Binding.PeerIP
  • Сергей М. © (07.01.09 21:09) [4]
    [3] - это ответ на вопрос "как узнать хост"


    > как узнать  ..имя покдлюченного хоста


    Хост в общем случае не обязан иметь имени, но обязан иметь адрес.
    Т.е. св-во PeerIP обязано вернуть как минимум IP-адрес удал.хоста, но может вернуть и имя этого хоста, если оно зарегистрировано в обратной DNS-зоне, к которой обращается твой сервер с целью получить это имя.
  • dan (08.01.09 07:04) [5]
    AThread.Connection.Socket.Binding.PeerIP - у меня показывает только IP хоста, а TServerSocket-е Socket.RemoteHost показывает имя хоста


    > но может вернуть и имя этого хоста, если оно зарегистрировано
    > в обратной DNS-зоне, к которой обращается твой сервер с
    > целью получить это имя.


    Как получить имя хоста в Indy???
  • Сергей М. © (08.01.09 10:16) [6]
    см. IdStack.WSGetHostByAddr()
 
Конференция "Сети" » Имя компа в Indy [D6, WinXP]
Есть новые Нет новых   [134435   +33][b:0][p:0]