多线程版聊天 | 手把手教你入门Python之一百

上一篇:多线程实现多任务 | 手把手教你入门Python之九十九
下一篇:线程安全 | 手把手教你入门Python之一百零一

本文来自于千锋教育在阿里云开发者社区学习中心上线课程《Python入门2020最新大课》,主讲人姜伟。

多线程版聊天

实现一台电脑上聊天。

import socket, sys
import threading

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('192.168.31.199', 8080))


def send_msg():
    while True:
        msg = input('请输入您要发送的内容:')
        s.sendto(msg.encode('utf8'), ('192.168.31.199', 9090))
        if msg == 'exit':
            break


def recv_msg():
    while True:
        # data的数据类型是一个元组
        # 元组里第0个元素是接收到的数据
        # 元组里第1个元素是发送方的ip地址和端口号
        data, addr = s.recvfrom(1024)
        print('接收到了{}地址{}端口的消息:{}'.format(addr[0], addr[1], data.decode('utf8')),
              file=open('消息记录.txt', 'a', encoding='utf8'))


t1 = threading.Thread(target=send_msg)
t2 = threading.Thread(target=recv_msg)

t1.start()
t2.start()

配套视频

上一篇:PHP日期转星期(英文/数字)


下一篇:mysql主从同步配置