首页 / PYTHON / 加强python UDP服务器
加强python UDP服务器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了加强python UDP服务器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1196字,纯文字阅读大概需要2分钟。
内容图文
我是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的返回数据的问题.它是一个简单的’if data:then’来检查它是否有效?
第三,最后,线程.线程可以轰炸吗?如果它确实是最好的重启方式吗?
任何其他提示将是受欢迎的.
(注意:我不能使用外部库,例如扭曲等)
解决方法:
您的问题的一些答案:
> UDP套接字是无连接的,因此“始终可用”.另请注意,UDP消息长度限制为65535字节IIRC.
>数据只是一个字符串,其有效性取决于使用的协议.您的if数据:…将作为接收内容的测试,但recvfrom()调用将阻止,直到它收到一些东西,所以这似乎是多余的.
>我一般不了解python线程的可靠性.
我还会检查SocketServer模块和相关的UDPServerclass – 这可能会使实现更容易. SocketServer是python标准库的一部分.
内容总结
以上是互联网集市为您收集整理的加强python UDP服务器全部内容,希望文章能够帮你解决加强python UDP服务器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。