如何使用UDP协议给飞秋发送消息

来源:互联网 发布:javascript xml dom 编辑:程序博客网 时间:2024/05/17 01:52
飞秋使用传输协议为UDP
如何使用udp协议给飞秋发送消息
1.先导入模块、创建一个套接字
from socket import *
updsocket = socket(AF_INET,SOCK_DGRAM)
2.设置接收方的ip地址和端口
飞秋的端口为:2425
data = (“192.168.75.75(这里是接收方的ip)”,2425)
3.使用刚才创建的套接字调用sendto命令发送消息
updsocket.sendto("hahaha(这里是要发送的内容)",data)
需要注意的是如果发送的内容是汉字的话,要进行转换
name="哈哈哈"
updsocket.sendto(name.encode("utf-8或者gb23212"),data)


下面是面向对象编程
#指定一个人的飞秋发送一次性消息
def one_to_one():
content=input("请输入内容:")
msg="1:123456:user:name:32:"+content
data=input("请输入接收方的ip地址最后两位:")
ip="192.168.75."+data
updsocket.sendto(msg.encode("gb2312"),(ip,2425))

#指定一个人的飞秋逐条发送
def one_to_one_again():
content=input("请输入内容:")
msg="1:123456:user:name:32:"+content
data=input("请输入接收方的ip地址:")
ip="192.168.75."+data
while True:
updsocket.sendto(msg.encode("gb2312"),(ip,2425))

#指定局域网内所有飞秋进行发送
def one_to_all():
content=input("请输入内容:")
msg="1:123456:user:name:32:"+content
for i in range(255):
ip = "192.168.75."+ str(i)
updsocket.sendto(msg.encode("gb2312"),(ip,2425))

#指定局域网内所有飞秋狂发,容易把对方发死机
def one_to_all_again():
content=input("请输入内容:")
msg="1:123456:冰冰:范-PC:32:"+content
while True:
for i in range(255):
ip = "192.168.75." + str(i)
time.sleep(10)
updsocket.sendto(msg.encode("gb2312"),(ip,2425))

def main():
num = int(input("请输入你想要使用的发送方式:\n(1)一对一单次发送消息\n(2)一对一多次发送消息\n(3)对局域网内所有用户单次发送消息\n(4)对局域网内所有用户多次发送消息\n:"))
if num == 1:
one_to_one()
elif num == 2:
one_to_one_again()
elif num == 3:
one_to_all()
elif num == 4:
one_to_all_again()
else:
print("输入错误")

if __name__ == "__main__":
main()
原创粉丝点击