python 网络编程 udp

发送方:

import socket


def main():
    #创建套接字
    udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

while True:
    #从键盘输入数据
    send_data = input('输入:')
    #发送数据
    udp_socket.sendto(send_data.encode('GBK'),('192.168.152.1',5000))  # 这里注意我是发送给Windows下的网络调试助手,而windows默认编码是GBK所以编码成GBK发送过去不会乱码
    if send_data == 'quit':
        break
#关闭套接字
udp_socket.close()
print('-----------')

if __name__ == '__main__':
    main()

在这里插入图片描述

接收方:

def main():
# 创建套接字
udp_socket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

# 绑定本地信息,如果网络不绑定,则系统随机分配
localaddr = ("",1888)
udp_socket.bind(localaddr)

# 接收数据
recv_data = udp_socket.recvfrom(1024)

recv_msg = recv_data[0].decode('GBK')  # 因为windows发送过来的是gbk编码的,所以在这解码用GBK
send_port = recv_data[1]

# 打印接收数据
print(str(send_port),recv_msg)


# 关闭套接字
udp_socket.close()
print('-----------')

if __name__ == '__main__':
    main()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/SeeUa/article/details/89333698