zoukankan      html  css  js  c++  java
  • server client 套接字连接

    server端:

      1.  阻塞型套接字,不能满足多个客户端同时访问

        import socket

        server = socket.socket()

        server.bind((""127.0.0.1,8898))

        while True:

        server.listen(2)    2为最大同时连接数,python3.6以上有用

        conn,addr = server.accept()

        data = conn.recv(1024)  1024为最大接收字节

        conn.close()      服务器连接关闭

        图例:

            

       2.  非阻塞形套接字,用单线程模拟多线程并发,实现多个客户端同时访问

        import socket

        server = socket.socket()

        server.setblocking(False)

        server.bind(("127.0.0.1",8898))

        server.listen(5)

        conn_list = []    储存客户端请求

        while True:

          try:

            conn,addr = server.accept()

            conn.setblocking(False)

            conn_list.append(conn)

          except BlockingIOError:

            pass

          for conn in conn_list:

            try:

              data = conn.recv(1024)

              if data:

                print(data)

                conn.send(data)

              else:

                conn.close()

                conn_list.remove(conn)

            except  BlockingIOError:

                pass

      图例:
          

        

    client端:

      import socket

      client = socket.socket()

      client.connect(("127.0.0.1",8898))

      client.send(b"hello")

      client.close()

      图例:

        

  • 相关阅读:
    03-数据库必会问题
    2017.06.29数据挖掘基础概念第二.三章
    2017.06.29 数据挖掘概念知识第一章
    2017.06.9 金融时间序列分析之Eview使用基础
    2017.05.27 WeX5后端服务开发之注册
    2017.5.24 Git使用说明初级
    2017.05.06FreeCodeCamp编程之JS面向对象编程学习
    2017.05.05FreeCodeCamp前端编程之Javascript实现laohuji
    2017.05.05 freecodecamp前端编程之正则表达式
    2017.5.2 Javascript练习之FreecodeCamp--21点算法
  • 原文地址:https://www.cnblogs.com/cxhzy/p/9961701.html
Copyright © 2011-2022 走看看