2011-03-31 100 views
0

是否有任何方法将python套接字对象转换为空指针。我正在使用ctypes,我已经尝试使用转换和Python的转换功能。PYTHON插座和结构

我也在使用DLL,并且有一个函数将结构作为它的参数。 但是,当我将结构传递给函数时,我将无效参数视为错误。 使用Python获取C类型参数的C上创建的C DLL有什么缺点吗?

+0

[Socket编程]的可能重复(http://stackoverflow.com/questions/5547895/socket-programming) – ThiefMaster 2011-04-05 06:27:26

回答

0

没有理由将套接字转换为指针。您可以使用socket.fileno()来获取应该在C代码中可用的套接字的文件描述符。

如果你的库需要一个指针,你可能需要用ctypes结构来包装它 - 但不知道我们无法知道的细节。

+0

该库实际上接受指向void的指针。在C中,取消引用指针很容易。 C函数是 - > long UNILIB_CALL UL_cbOpen(void ** psocket,char * ipAddress,unsigned int port,int connectionTimeout,int sendTimeout,int recvTimeout)。 UNILIB_CALL是__stdcall。这是一个回调函数。 Python代码在这里 - > libc = WinDLL(“Unilib.dll”); ulopen = WINFUNCTYPE(c_long,POINTER(c_void_p),c_char_p,c_uint,c_int,c_int,c_int);函数声明是这个UL_cbOpen(psocket,ipAddress,port,connectionTimeout,sendTimeout,recvTimeout): – 2011-04-05 05:53:50