python编写窗口内容_用Python编写窗口套接字

我试图用Python实现windowsocket。在

大多数情况下,到目前为止,所有问题都已通过ctypes.windll.ws2\u 32以及pywin32库。在

但是,我还没有找到如何将下面的C++代码翻译成Python,我想知道有没有人能帮助:LRESULT WINAPI AsyncSocketProc(

__in HWND hwnd,

__in UINT uMsg,

__in WPARAM wParam,

__in LPARAM lParam

)

switch(uMsg) {

case WM_CREATE:

//...

case WM_SOCKET: {# this is basically an int constant

switch(WSAGETSELECTEVENT(lParam)){

case FD_ACCEPT:

//accepting new conn

case FD_READ:

//receiving data

}

}

}

在上面的代码中,我找不到WSAGETSELECTEVENT的Python等价物。在

对于FD峎ACCEPT,FD峎READ,我可以在win32file包中找到它们(pywin32 lib的)

最后,我试图实现这个窗口套接字编程的原因是,Window Socket服务器(上面)的C++版本对于我的应用程序是非阻塞的,但Python的内置选择。选择正在阻塞。所以我想看看我能否把C++版本移植到Python,看看它是否有效。在

编辑时间:

我想澄清一下,Socket服务器是对现有的 C++程序 >的“插件”,它不支持线程< /强>。在

socket服务器需要等待(无限期)客户机连接,因此它需要持续监听。

所以使用普通的Python套接字或选择。选择将需要一个while循环(否则它如何充当一个持续监听事件的服务器?请纠正我的错误),这会阻止主程序。在

不知何故,使用上面的windowsocket服务器回调,主程序不会被阻塞。这是我尝试将其移植到Python的主要原因。在

套接字服务器最好使用Python,因为服务器需要的许多相关lib都是用Python编写的。在

非常感谢。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值