zoukankan      html  css  js  c++  java
  • 基于多线程来实现并发的socket套接字

    server

    import socket
    from threading import Thread
    
    
    def server(conn):
        while True:
            try:
                data=conn.recv(1024)
            except Exception:
                continue
            if data==b'q':
                print('关闭子线程连接')
                break
            conn.send(data.upper())
    
    
    if __name__ == '__main__':
        soc = socket.socket()
        soc.bind(('127.0.0.1', 8080))
        soc.listen(2)
        while True:
            conn, addr = soc.accept()
            print(f'{addr}已连接')
            t=Thread(target=server,args=(conn,))
            t.start()
    

    client

    import socket
    
    soc=socket.socket()
    
    soc.connect(('127.0.0.1',8080))
    
    while True:
        inp=input('请输入')
        data=inp.encode()
        soc.send(data)
        get_data=soc.recv(1024)
        print(get_data)
    

    每当有一个客户端发送请求的时候,服务端就会建立一个连接,因为服务端始终都是卡在 conn, addr = soc.accept()这一步,也就是等待连接建立的这一步,只要有连接他就会继续往下走,然后就完事了,接下来都很简单。

  • 相关阅读:
    Python加载声音
    Python 的文件处理
    java学习总结
    Fiddler二次开发 C#
    开发工具 快捷键
    linux / shell /adb
    Java堆栈
    selenium获取接口 HAR
    服务端通过socket向安卓客户端发送shell
    设计模式
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11536280.html
Copyright © 2011-2022 走看看