• 基于多线程来实现并发的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()这一步,也就是等待连接建立的这一步,只要有连接他就会继续往下走,然后就完事了,接下来都很简单。

  • 相关阅读:
    web中间件常见漏洞
    心脏滴血与利用
    mimikatz提取windows密码
    Linux文本编辑器
    Linux打包(归档 )压缩命令
    linux文件和目录命令
    SSL原理
    windows server 2008 安装步骤
    渗透测试术语
    centos 7 修改yum配置
  • 原文地址:https://www.cnblogs.com/chanyuli/p/11536280.html
Copyright © 2020-2023  润新知