Нужно получить дескриптор сокета - PullRequest
1 голос
/ 04 ноября 2010

У меня есть dll, которая использовалась для реализации сокетной связи, но она не предоставляет мне дескриптор сокета (хост-приложение).

Мой вопрос:

Есть ли способ, которымможно получить дескриптор сокета, который создан этой DLL?Потому что мне нужно установить сокет с помощью WSAIoctl () и SetSockOpt () в моем приложении.

Спасибо,

Visli

1 Ответ

2 голосов
/ 04 ноября 2010

Если библиотека не предоставляет вам свои внутренние данные, то нет, как правило, нет возможности получить их.

Вы могли бы попробовать перехватить функцию API что вы знаете, что библиотека должна вызывать, а затем перехватывать ее параметры или возвращаемое значение там, где вы знаете, что значение сокета должно быть, но это большой взлом и, вероятно, довольно хрупкий.библиотека выставляет .Возможно, он отображает значение сокета под именем, которое вы не можете распознать, или, возможно, предоставляет свой собственный способ манипулирования свойствами сокета, поэтому вам не нужно использовать API, которые вы планируете использовать.Насколько вам известно, использование API в любом случае может повлиять на работу библиотеки.

Если все это не поможет, вы можете отказаться от текущей библиотеки сокетов за другую.Нет недостатка в библиотеках на выбор.В дополнение к встроенным компонентам сокетов Delphi у вас есть Indy , ICS и Synapse ;все они являются родными библиотеками Delphi, поэтому у вас есть доступ ко всему, что вы захотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...