我是 python (2.6/2.7) 的初学者,被投入到为现有 python 应用程序创建网络服务的深层次。
我已经启动并运行了一个 UDP 服务器,它工作得很好,但我正在寻求帮助,使其更加防弹。
这是我编写的基本代码,通常的标准样板:
import sys
import socket
from threading import Thread
def handleInput():
sock = socket.socket( socket.AF_INET, socket.SOCK_DGRAM )
sock.bind( ("127.0.0.1",5005) )
# socket always binded?
while True:
data, addr = sock.recvfrom(512)
# is 'data' usable?
t=Thread(target=handleInput)
t.daemon=True
t.start()
# can thread die?
首先,我知道套接字在某种意义上总是可用的,它不必监听,所以没有失败,你必须重新连接。这个对吗?
其次,recvfrom 返回数据的问题。检查它是否有效是一个简单 的“如果数据:那么”吗?
第三,最后,线程。一根线能炸出来吗?如果它确实重新启动它的最佳方法是什么?
欢迎任何其他提示。
(注意:我不能使用外部库,例如扭曲等)