python如何使用socketserver模块实现并发聊天

yipeiwu_com6年前Python基础

这篇文章主要介绍了python如何使用socketserver模块实现并发聊天,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

利用socketserver模块很容易实现并发功能,下面的server.py和client.py程序实现了这一功能.

代码如下

#server.pyimport socketserver
class MyServer(socketserver.BaseRequestHandler):
  def handle(self):
    while True:
      conn = self.request
      while True:
        data = conn.recv(1024)
        if str(data,'utf8') == 'q':
          break
        print(str(data,'utf8'))
        inp = input('>>>')
        conn.send(bytes(inp,'utf8'))
      conn.close()
if __name__ == '__main__':
  server = socketserver.ThreadingTCPServer(('127.0.0.1',8000),MyServer)
  server.serve_forever()
#client.py
import socket
sk = socket.socket()
address = ('127.0.0.1',8000)
sk.connect(address)
while True:
  inp = input('>>>')
  if inp == 'q':
    print('Bye-bye')
    break
  sk.send(bytes(inp,'utf8'))
  data = sk.recv(1024)
  print(str(data,'utf8'))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python中返回矩阵的行列方法

实例如下所示: # TODO 返回矩阵的行数和列数 def shape(M): return len(M),len(M[0]) 以上这篇python中返回矩阵的行列方法就是小编...

Python逐行读取文件中内容的简单方法

Python逐行读取文件中内容的简单方法

项目开发中文件的读写是必不可少的 下面来简单介绍一下文件的读 读文件,首先我们要有文件 那我首先自己创建了一个文本文件password.txt 内容如下: 下面先贴上代码,然后对其进...

Python入门篇之编程习惯与特点

1.代码风格 在Python中,每行程序以换行符代表结束,如果一行程序太长的话,可以用“\”符号扩展到下一行。在python中以三引号(""")括起来的字符串,列表,元组和字典都能跨行...

python映射列表实例分析

本文实例讲述了python映射列表。分享给大家供大家参考。具体分析如下: 列表映射是个非常有用的方法,通过对列表的每个元素应用一个函数来转换数据,可以使用一种策略或者方法来遍历计算每个元...

python脚本实现验证码识别

python脚本实现验证码识别

最近在折腾验证码识别。最终的脚本的识别率在92%左右,9000张验证码大概能识别出八千三四百张左右。好吧,其实是验证码太简单。下面就是要识别的验证码。 我主要用的是Python中的P...