Eli*_*any 0 python sockets nonblocking
我无法使用线程,因此我想编写一个服务器程序,该程序可能会在一段时间后中断:
d = show_non_modal_dialog(“为客户服务”)
s =套接字(...)
s.bind(...)
s.listen()
同时(!user_pressed_cancel())
{
s.accept()#定时接受大约1秒钟
如果timed_out:
继续
serve_client
close_client_sock
}
hide_non_modal_dialog(d)
使用非阻塞套接字,并在其上调用accept。
s.setblocking(0)
Run Code Online (Sandbox Code Playgroud)
您还可以设置超时以阻止套接字操作
socket.settimeout(value)
Run Code Online (Sandbox Code Playgroud)
您的代码中似乎也有问题
accept()返回一个(conn,address)对值。所以你的代码应该是
conn, address = s.accept()
Run Code Online (Sandbox Code Playgroud)