如果服务器套接字中生成的rand数小于4,则我的客户端套接字将在接收数据时挂起。我需要设置超时机制以允许客户端套接字检测到“超时”,然后它将继续发送消息。

在运行服务器套接字和客户端套接字之后,错误消息如下所示:Traceback (most recent call last):

File "E:\Studying\Python workspace\Client\src\Client.py", line 34, in

data , addr = client.recvfrom(1024)

socket.timeout: timed out

服务器套接字:import random

from socket import *

serverSocket = socket(AF_INET , SOCK_DGRAM)

serverSocket.bind(('', 15000))

while True:

rand = random.randint(0, 10)

message , address = serverSocket.recvfrom (1024)

message = message.upper()

print("received message: ", message)

print("echo to address: ", address)

print(rand)

if rand < 4:

continue

print("Sending message: ", message)

serverSocket.sendto(message, address)

客户端套接字import socket

UDP_IP = "127.0.0.1"

RPORT = 15000

MESSAGE = "ping"

print("UDP target IP: ", UDP_IP)

print("UDP target port: ", RPORT)

print("message going to send: ", MESSAGE)

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

i=1

while True:

try:

if(i<11):

client.sendto(MESSAGE.encode('utf_8'),(UDP_IP, RPORT))

print("sending message: ", MESSAGE)

print(i)

i=i+1

client.settimeout(2)

data , addr = client.recvfrom(1024)

print("received echo: ", data)

print("received at: " , addr )

finally:

print("closing socket")

client.close()

python socket recvfrom 超时捕获_python-udp客户端超时机制相关推荐

  1. python socket自动重连_python – 如何在autobahn websocket超时后重新连接?

    我正在使用Autobahn来连接这样的websocket. class MyComponent(ApplicationSession): @inlineCallbacks def onJoin(sel ...

  2. python socket清空接收缓冲区_Python网络编程——修改套接字发送和接收的缓冲区大小...

    很多情况下,默认的套接字缓冲区大小可能不够用.此时,可以将默认的套接字缓冲区大小改成一个更合适的值. 1. 代码 # ! /usr/bin/env python # -*- coding: utf-8 ...

  3. python socket模块recv函数_python socket 函数 模块

    欢迎指正和留言讨论哦 import socket socket()函数 1,语法格式 socket.socket([family[, type[, proto]]]) family: 套接字家族可以使 ...

  4. python socket server accpet 时间_Python socket.accept非阻塞?

    你可能想要像select.select()(见 documentation).您提供select()和三个套接字列表:要监视的可用性,可写性和错误状态的套接字.当新客户端等待时,服务器套接字将可读. ...

  5. python socket 网络聊天室_Python基于Socket实现简单聊天室

    本文实例为大家分享了Python基于Socket实现简单聊天室,供大家参考,具体内容如下 服务端 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Ti ...

  6. 《python 黑帽子》 示例 :UDP客户端

    python 2.7 import socket#引用套接模块 target_host='x.x.x.x'#地址 target_port=8000#端口 client=socket.socket(so ...

  7. python给函数设置超时时间_Python设置函数调用超时

    http://blog.sina.com.cn/s/blog_63041bb80102uy5o.html 背景: 最近写的Python代码不知为何,总是执行到一半卡住不动,为了使程序能够继续运行,设置 ...

  8. python socket监听端口_Python 用socket模块实现检测端口和检测web服务

    检测端口 check_tcp_port.py #!/usr/bin/env python import socket import re import sys def check_server(add ...

  9. python socket自动重连_python之tcp自动重连

    在写一个传输文件的socket程序时,客户端实现了和服务端断开连接后重新自动连接功能,但是连接上服务端后再重启服务端,客户端出现了Errno 10054异常.出错的代码如下: client.py: i ...

  10. Python+socket+多线程实现同时应答多客户端的自助聊天机器人

    本周推荐书目:<Python程序设计实验指导书>,董付国编著,清华大学出版社 本书详情链接二维码(清华大学出版社天猫官方旗舰店): 送书活动在继续,下周送第五批,详情链接:<Pyth ...

最新文章

  1. sqoop mysql parquet_sqoop一些语法的使用
  2. 个人博客开发-01-nodeJs项目搭建
  3. python目标跟踪_商汤开源最大目标跟踪库PySOT,代码已正式上线!
  4. 《R语言初学指南》一2.8 参考文献
  5. ArcGIS Server 10.2 安装教程
  6. python队列精灵对战_python队列Queue
  7. python yield: send, close, throw
  8. UI设计组件|临摹学习的必备
  9. testflight怎么做版本更新_《动物森友会》万圣节版本更新后,别忘了做这五件事情...
  10. iOS 动画(三)CABasicAnimation animationWithKeyPath 一些规定的值
  11. 你这辈子,为什么富不起来?!
  12. 他对我有成见,怎么办
  13. HTTP代理服务器 - Apache httpd
  14. KNN算法优缺点总结,以及机器学习流程的总结
  15. 关于Palantir——第二部分:本体(Ontology)
  16. Windows下使用IDEAS对cala文件打jar包
  17. rfc959 FTP传输协议
  18. 优酷弱网平台落地实践
  19. Spark 系列——Spark的Shuffle原理
  20. Expected a string but was BEGIN_OBJECT at line 1 column 2 path $

热门文章

  1. ESP32 GPIO入门之闪灯
  2. kaldi运行thchs30例子
  3. 你还敢用鼠标吗?黑客在百米之外控制你的鼠标
  4. 【Todo】已经打开的页面需要清掉的坑
  5. OpenStreetMap/Google/百度/Bing瓦片地图服务(TMS)
  6. Oracle PL/SQL中使用%TYPE和%ROWTYPE的方法
  7. java webservice 示例,Java webservice 示例
  8. python通过什么对象连接数据库_Python(十一)数据库连接
  9. 深入理解计算机系统第四版_技术干货 |深入理解计算机系统之链接
  10. 6. Keras-RNN应用