• threadingSocket 服务器端可以同时接受多个客户端的访问


     server.py文件:

    #!/usr/bin/env python
    #coding:utf-8
    import SocketServer
    class  MyServer(SocketServer.BaseRequestHandler):
        def setup(self):
            pass
        def handle(self):
            '''
            print self.request
            print self.client_address
            print self.server
            '''
            conn=self.request
            conn.send('hello!')
            flag=True
            while flag:
                data=conn.recv(1024)
                print data
                if data=='exit':
                    flag=False
                conn.send('shaobing')
            conn.close()
        def finish(self):
            pass
     
    if __name__ == '__main__':
        server = SocketServer.ThreadingTCPServer(('127.0.0.1',9999),MyServer)
        server.serve_forever()
    

    client.py文件:

    #!/usr/bin/env python
    #coding:utf-8
    import socket,os
    ip_port = ('127.0.0.1',9999)
    sk = socket.socket()
    sk.connect(ip_port)
    #container = {'key':'','data':''}
    while True:
        input = raw_input('cmd and path:')#cmd和path之间用'/'分割
        cmd,path = input.split('/') 
        file_name = os.path.basename(path)
        file_size=os.stat(path).st_size
        sk.send(cmd+"/"+file_name+'/'+str(file_size))
        send_size = 0
        f= file(path,'rb')
        Flag = True
        while Flag:
            if send_size + 1024 >=file_size:
                data = f.read(file_size-send_size)
                Flag = False
            else:
                data = f.read(1024)
                send_size+=1024
            sk.send(data)
        f.close()
    sk.close()
    

      

  • 相关阅读:
    PHPMailer邮件发送
    php 统计在线人数,今日访问量,总访问量
    php 首页定时生成静态页面
    jquery自动生成二维码
    php图片等比例缩放
    判断checkbox选中
    Pojo和JavaBean的区别
    Highcharts简单入门
    [转载]了解Activity工作流
    集群和分布式初探
  • 原文地址:https://www.cnblogs.com/noticeable/p/15138172.html
Copyright © 2020-2023  润新知