第8届bq红人榜颁奖典礼,宅急送快递单号查询,徐晓
首先声明,这不是我写的,而是我找到的,但是别人写的相当好。
# udp multicast examples, hugo vincent, 2005-05-14.
import socket
def send(data, port=50000, addr='239.192.1.100'):
"""send(data[, port[, addr]]) - multicasts a udp datagram."""
# create the socket
s = socket.socket(socket.af_inet, socket.sock_dgram)
# make the socket multicast-aware, and set ttl.
s.setsockopt(socket.ipproto_ip, socket.ip_multicast_ttl, 20) # change ttl (=20) to suit
# send the data
s.sendto(data, (addr, port))
def recv(port=50000, addr="239.192.1.100", buf_size=1024):
"""recv([port[, addr[,buf_size]]]) - waits for a datagram and returns the data."""
# create the socket
s = socket.socket(socket.af_inet, socket.sock_dgram)
# set some options to make it multicast-friendly
s.setsockopt(socket.sol_socket, socket.so_reuseaddr, 1)
try:
s.setsockopt(socket.sol_socket, socket.so_reuseport, 1)
except attributeerror:
pass # some systems don't support so_reuseport
s.setsockopt(socket.sol_ip, socket.ip_multicast_ttl, 20)
s.setsockopt(socket.sol_ip, socket.ip_multicast_loop, 1)
# bind to the port
s.bind(('', port))
# set some more multicast options
intf = socket.gethostbyname(socket.gethostname())
s.setsockopt(socket.sol_ip, socket.ip_multicast_if, socket.inet_aton(intf) + socket.inet_aton('0.0.0.0'))
s.setsockopt(socket.sol_ip, socket.ip_add_membership, socket.inet_aton(addr) + socket.inet_aton('0.0.0.0'))
# receive the data, then unregister multicast receive membership, then close the port
data, sender_addr = s.recvfrom(buf_size)
s.setsockopt(socket.sol_ip, socket.ip_drop_membership, socket.inet_aton(addr) + socket.inet_aton('0.0.0.0'))
s.close()
return data
#!/usr/bin/env python
from socket import *from time import sleep,time,ctime
host = '229.0.0.15'port = 9999bufsiz = 1024addr = (host, port)
udpclisock = socket(af_inet, sock_dgram)
data = 't'*200count = 0while(count<100 ): udpclisock.sendto(data, addr) sleep(1) count = count+1
udpclisock.close()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
python如何查看网页代码
用python查看网页代码的方法:1、使用“import”导入requests包import requests2、使用requests包的get()函数通过网页...
[阅读全文]
-
-
python如何保存文本文件
python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函...
[阅读全文]
-
python如何编写win程序
python可以编写win程序。win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法。编写好python程序后py2exe模块即可将...
[阅读全文]
-
-
-
-
-
-
网友评论