其他分享
首页 > 其他分享> > c – 从文件描述符实例化套接字对象的不显眼方法

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