需要获取套接字描述符

时间:2010-11-04 01:14:11

标签: delphi sockets dll

我有一个用于实现套接字通信的dll,但它没有向我公开Socket描述符(主机应用程序)。

我的问题是:

有没有办法可以获得这个dll创建的套接字描述符?因为我需要在我的应用程序中通过WSAIoctl()和SetSockOpt()设置套接字。

谢谢,

Visli

1 个答案:

答案 0 :(得分:2)

如果某个库没有向你公开它的内部,那么不,通常没办法得到它们。

可以尝试hooking an API function你知道库必须调用,然后拦截它的参数或返回你知道套接字值必须的值,但这是一个很大的黑客,可能非常脆弱。

相反,您可以更加深入地了解所展示的内容。也许它以您无法识别的名称公开套接字值,或者它可能提供自己的方式来操作套接字的属性,因此您不需要使用您计划使用的API。尽管如此,使用API​​可能会干扰库的工作方式。

如果一切都失败了,你可以抛弃当前的套接字库以获得不同的套接字库。图书馆不乏可供选择。除了Delphi的内置套接字组件,您还有IndyICSSynapse;所有这些都是本机Delphi库,因此您可以访问任何您想要的内容。