python 套接字_尝试在Windows上的Python 3中使用套接字时Wins...

有问题的代码部分大致如下:

import socket, my_custom_socket_address_getting_module

underlyingSocketFileno = my_custom_socket_address_getting_module.get()

connectedSocket = socket.socket( fileno=underlyingSocketFileno )

clientAddress = connectedSocket.getpeername()

其中“ my_custom_socket_address_getting_module”是一个自定义C扩展名,它返回我机器上一个打开的套接字的地址(很长).

前两行似乎运行良好,并且Python套接字对象看起来很明智(例如fd和其他套接字属性在调试器中看起来正确),但是尝试在该对象上调用getpeername会引发以下异常:

:[WinError 10014] The system detected an invalid pointer address in attempting to use a pointer argument in a call

由于我让Python构造了两个Python套接字(大概还支持了OS SOCKET),所以我不知道损坏的指针地址将来自何处.

我相当有信心从我的自定义模块提供给Python的套接字地址是正确的,并且它返回的套接字地址是有效的,因为该扩展名与我的旧Python版本完全兼容.

当我使用最新版本的Python(3.6.5)时,这个问题就开始了-关于这个新版本为什么会这样的想法?

先前的工作版本是Python 1.5.2(是的,是的).

(操作系统为Microsoft Windows 8.1 64,Python 3.6.5,使用MSVCC v.1911构建)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值