多线程的UDP聊天器

Posted pcjbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程的UDP聊天器相关的知识,希望对你有一定的参考价值。

# pcj
import socket
import threading
# def recv_msg(udp_socket):
# while True:
# recv_date = udp_socket.recvfrom(1024)
# print(recv_date[0].decode("gbk"),recv_date[1])
#
# def send_msg(udp_socket,dest_ip,dest_port):
# while True:
# send_date = input("请输入要发送的信息")
# udp_socket.sendto(send_date.encode("gbk"),(dest_ip,dest_port))
#
#
# def main():
# # 创建UPD套接字
# udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
# # 邦定本地信息
# udp_socket.bind(("",9999))
# dest_ip = input("请输入对方IP")
# dest_port = int(input("请输入PORT"))
# #接收信息
# t_recv=threading.Thread(target=recv_msg,args=(udp_socket,))
# t_send =threading.Thread(target=send_msg,args=(udp_socket,dest_ip,dest_port))
# t_recv.start()
#
# #发送信息
# t_send.start()
#0--------再写一次
def send_msg(udp_socket,dest_ip,dest_port):
while True:
send_date = input("请输入要发送的信息")
udp_socket.sendto(send_date.encode("gbk"), (dest_ip, dest_port))

def recv_msg(udp_socket):
while True:
recv_date = udp_socket.recvfrom(1024)
print(recv_date[0].decode("gbk"))
def main():
# 创建套接字
udp_socket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)

udp_socket.bind(("",9999))
dest_ip = input("请输入IP")
dest_port = int(input("请输入PORT"))
t_send = threading.Thread(target=send_msg, args=(udp_socket,dest_ip,dest_port))
t_recv = threading.Thread(target=recv_msg, args=(udp_socket,))
# 发送信息
t_send.start()

# 接收信息
t_recv.start()



if __name__ == ‘__main__‘:
main()

以上是关于多线程的UDP聊天器的主要内容,如果未能解决你的问题,请参考以下文章

Python进阶:利用线程实现多任务

udp聊天器

socket网络编程之udp聊天器

Python网络开发基础,实现udp聊天器小案例

UDP聊天器 服务器版 支持离线消息 支持净网过滤

就业DAY2_网络编程_udp聊天器--用户可以控制