c – 从文件描述符实例化套接字对象的不显眼方法
作者:互联网
目前在Python中存在一个套接字库:
参考:http://docs.python.org/library/socket.html
但是,此库不包括基于文件描述符引用现有套接字的功能.我目前正在为C库开发Python绑定,它首先打开一个套接字,并且需要一种在事后用Python引用这个打开的套接字的方法.请记住,这是在Windows上(我使用的是跨平台的抽象层,忽略了文件句柄).
代码类似于:
fd = connect(...) # file descriptor
os.read(fd, buffer)
os.close(fd)
我希望找到一种方法来实际定义基于文件描述符的套接字对象,而无需在os.dup和os.dup2中找到按值复制.
有人知道参考这个的方法吗?
解决方法:
由于此问题似乎尚未得到解答(为期一周),我将陈述我的解决方案.
我实现了一个内部绑定,用于从库中检索套接字信息,将ctypes转换为pytuples.因为应用程序本身包含在py2exe中,所以此修改对最终用户来说并不显眼.
标签:python,c-2,sockets,dll,file-descriptor 来源: https://codeday.me/bug/20190626/1289303.html