zoukankan      html  css  js  c++  java
  • import socketserver 模块 (27-03)

        使用socketserver实现并发聊天

    服务端可以比喻做一部电话。

    ("127.0.0.1", 8000)   比喻做服务端的一个号码。

     

    1,server.py

    import socketserver

    class MyServer(socketserver.BaseRequestHandler):
      def handle(self):    # 逻辑代码
        print("服务器启动...")
        while True:
          conn = self.request  # self.request相当于电话里面的一个号码
          print("有客户端连接ip与端口号:", self.client_address)  
          while True:
            client_data = conn.recv(1024)  # 收
            print(str(client_data, 'utf8'))

            inp = input('>>:')
            conn.sendall(bytes(inp, 'utf8'))  # 发
          conn.close()

    if __name__ == "__main__':
      server = socketserver.ThreadingTCPServer(('127.0.0.1', 8000), MyServer)  # 执行连接
      server.serve_forever()              # 执行def handle(self)逻辑代码

    2, client.py

    import socket
    sk = socket.socket()

    address = ("127.0.0.1", 8000)  # 连接服务端的ip地址与端口号
    sk.connect(address)

    while True:
      inp = input(">>:")    # 发
      sk.sendall(bytes(inp, 'utf8'))

      data = sk.recv(1024)  # 收
      print(str(data, 'utf8))

  • 相关阅读:
    python ipython使用
    Django ORM 操作
    Django uwsgi 基础知识
    前端 vue router 传递参数
    观察者模式和发布订阅模式
    关于重绘和回流
    Vuex入门简单示例(五)
    Vuex入门简单示例(四)
    Vuex入门简单示例(三)
    Vuex入门简单示例(二)
  • 原文地址:https://www.cnblogs.com/uncle-kay/p/9598141.html
Copyright © 2011-2022 走看看