python3socket非阻塞_基于python和socket的进程间非阻塞通信

else

:

if

result:

print

(result)

print

(address)

udpsock_send.sendto(

b

'I am udp, I got it.'

,addr2)

print

(index)

index=index+

1

time.sleep(

1

)

udpsock_recv.close()

udpsock_send.close()

myprobe()

client

端:

import

socket

import

time

BUFFSIZE=

1024

def

myprobe

():

addr1=(

'127.0.0.1'

,

10002

)

addr2=(

'127.0.0.1'

,

10003

)

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

udpsock_recv.bind(addr2)

udpsock_recv.setblocking(

False

)

#

设置线程为非阻塞式

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

print

(

'

开始

'

)

index=

0

while

True

:

udpsock_send.sendto(

bytes

(

'

{0:3d}

luqinghua'

.format(

0

),

'utf-8'

),addr1)

try

:

#

非阻塞式时需要加

try

捕捉错误

否则程序会报错

无法立即完成一个非阻止性套接字操作

result,address=udpsock_recv.recvfrom(BUFFSIZE)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值