rareMax Опубликовано 12 апреля, 2016 Поделиться Опубликовано 12 апреля, 2016 (изменено) Кто-то работал с библиотекой System.Net.Socket ? Какие параметры нужно передавать во время подключения к серверу? То есть, на Инди я указываю Хост и порт и подключаюсь. А вот в System.Net.Socket.TSocket нужно гораздо больше параметров передавать: procedure TSocket.Connect(const Name, Address, Service: string; Port: Word); Port - ну это понятно. Думаю что Address - это типа хоста. А вот Name и Service - вообще в непонятках. Так же вопрос - можно ли через имя хоста подключаться, а не через ИП Изменено 13 апреля, 2016 пользователем Сысоев Максим Цитата Ссылка на комментарий
2 Alexander Опубликовано 12 апреля, 2016 Поделиться Опубликовано 12 апреля, 2016 Тут можно посмотреть , Service можно не указывать Цитата Ссылка на комментарий
0 rareMax Опубликовано 13 апреля, 2016 Автор Поделиться Опубликовано 13 апреля, 2016 7 часов назад, Alexander сказал: Тут можно посмотреть , Service можно не указывать Справку с самого начала смотрел. Ну я уже подключился через TNetEndpoint: FTCP.Connect(TNetEndpoint.Create(95, 172, 133, 164, 6670)); А вот что за параметры: Name и Service - вопрос открытый. Так же остается вопрос - можно ли через имя хоста подключаться, а не через ИП Цитата Ссылка на комментарий
1 Администраторы Brovin Yaroslav Опубликовано 13 апреля, 2016 Администраторы Поделиться Опубликовано 13 апреля, 2016 Значение поля Service позволяет автоматически выбрать порт для сервиса. (Возможные значения смотрите в файле C:\Windows\System32\drivers\etc\services). Значение поле Name (DNS имя) позволяет автоматически выбрать связанные с ресурсом IP адрес по имени узла. Например yandex.ru. Цитата Ссылка на комментарий
0 rareMax Опубликовано 13 апреля, 2016 Автор Поделиться Опубликовано 13 апреля, 2016 30 минут назад, Brovin Yaroslav сказал: Значение поле Name (DNS имя) позволяет автоматически выбрать связанные с ресурсом IP адрес по имени узла. Например yandex.ru. Извиняюсь - если Name - это имя домена, тогда что такое Address ? Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 13 апреля, 2016 Администраторы Поделиться Опубликовано 13 апреля, 2016 Если верить исходникам, то Address заполняет только IP адрес в структуре https://msdn.microsoft.com/ru-ru/library/zx63b042.aspx, В то время, как Name позволяет заполнить всю запись целиком. Цитата Ссылка на комментарий
0 M1shQa Опубликовано 9 августа, 2017 Поделиться Опубликовано 9 августа, 2017 Потратил час чтоб понять как работает эта процедура. Если кому еще нужно, то вот пример: Цитата string1:=''; string2:='192.168.0.1'; string3:=''; portword:=1234; Socket.connect(string1,string2,string3,portword); При этом обязательно все должно быть указано либо вручную, либо через переменные (если указать .connect('',ip,'',port); то будет выдавать ошибку при попытке отдебажить). Можно еще указать вручную .connect('','192.168.0.1','',1234); так тоже работает. Стало актуально, когда начал отправлять данные в потоке в сервисе, компоненты инди там не работают, а по этим сокетам нигде почти примеров нету, особенно когда ip нужно указывать динамически. Цитата Ссылка на комментарий
Вопрос
rareMax
Кто-то работал с библиотекой System.Net.Socket ? Какие параметры нужно передавать во время подключения к серверу? То есть, на Инди я указываю Хост и порт и подключаюсь. А вот в System.Net.Socket.TSocket нужно гораздо больше параметров передавать:
Port - ну это понятно. Думаю что Address - это типа хоста. А вот Name и Service - вообще в непонятках.
Так же вопрос - можно ли через имя хоста подключаться, а не через ИП
Изменено пользователем Сысоев МаксимСсылка на комментарий
6 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.