用多线程编程聊天程序

python-1802-和卓 15:12:36

1……

from threading import Thread

class SenderThread(Thread):   

                  def__init__(self,socket,destaddress,d estport):        

  Thread.__init__(self)                                      self.socket = socket                                          self.dest_address = destaddress           self.dest_port = destport    

def run(self):        

    while True:              

        msg = input("我说:")  #键盘输入                        self.socket.sendto(msg.encode(),(self.dest_address,self.dest_port))

2……

from threading import

Thread class ReceiverThread(Thread): 接收线程     def __init__(self,socket):              Thread.__init__(self)         self.socket = socket     

def run(self):        

    while True:            

        msg,addr = self.s.recvfrom(1024)               print(addr,"说:",msg.decode())

3……

import socket

from chat_sender import SenderThread

from chat_receiver import ReceiverThread

s = socket.socket(type=socket.SOCK_DGRAM)  #实例化支持UDP协议的socket对象 s.bind(("localhost",8888)) SenderThread(socket,"localhost",6666).start() #启动发送线程 ReceiverThread(s).start() #启动接收线程

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,252评论 4 16
  • 一文读懂Python多线程 1、线程和进程 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运...
    星丶雲阅读 1,499评论 0 4
  • 线程 1.同步概念 1.多线程开发可能遇到的问题 同步不是一起的意思,是协同步调 假设两个线程t1和t2都要对nu...
    TENG书阅读 635评论 0 1
  • 其实 asyncio 的学习一点也不快乐 一、python 的多线程和多进程 要想理解 asyncio 的异步编程...
    宝宝家的隔壁老王阅读 4,947评论 2 10
  • 伫立伤神 独守侯 叹此意谁人可知? 泪眸四顾 夜空无尽 又是凄凉时候 凄凄树影摇曳 幽幽虫鸣哽咽 声声为谁? 当初...
    林有朽木阅读 207评论 0 1