Python3利用多线程完成最简单聊天室
UDP发送信息
UDP发送信息就像写信,只需要收件信息,也就是只需要收方的IP地址和端口号
from socket import *
# 创建套接字
udp_socket = socket(AF_INET, SOCK_DGRAM) # SOCK_DGRAM udp数据报套接字
# 发送数据
data_info = input('请输入需要发送的消息')
dest_ip = input('请输入对方的IP')
dest_port = int(input('请输入端口号')) # 端口号不能是字符串类型
dest_adr = (dest_ip,dest_port)
udp_socket.sendto(data_info.encode('gb2312'),dest_adr)
udp_socket.close()
UDP接收信息
UDP接收信息需要绑定IP信息和端口号
from socket import *
# 创建套接字
udp_socket = socket(AF_INET, SOCK_DGRAM) # SOCK_DGRAM udp 数据报套接字
# 绑定本地ip信息
udp_socket.bind(('',8081)) # ''表示绑定所有的IP
# 接收数据
recv_data,dest_ip = udp_socket.recvfrom(1024) #1024 表示接收最大字节 防止内存溢出
print(recv_data.decode('gb2312'))
udp_socket.close()