zoukankan      html  css  js  c++  java
  • socket ThreadingTCPServer学习笔记

    文件上传
    #
    服务端 while True: conn,address = sk.accept() conn.sendall(bytes('欢迎你小sb',encoding='utf-8')) str_size = str(conn.recv(1024),encoding='utf-8') int_size = int(str_size) print(int_size) #创建文件 f = open('new.jpg','wb') has_recv = 0 #接受文件 while True: if has_recv == int_size: break else: date = conn.recv(1024) f.write(date) has_recv += len(date) f.close() #客户端 import socket import os obj = socket.socket() obj.connect(('127.1.1.1',9999,)) ret_bytes = obj.recv(1024) print(str(ret_bytes,encoding='utf-8')) #发送文件大小 size = os.stat('tp.jpg').st_size obj.sendall(bytes(str(size),encoding='utf-8')) #发送文件 with open('tp.jpg','rb') as f: for i in f: obj.sendall(i) obj.close()
    ThreadingTCPServer
    服务端
    import socketserver
    class MyServer(socketserver.BaseRequestHandler):
        def handle(self):
            conn = self.request
            conn.sendall(bytes('hello小sb',encoding='utf-8'))
            print(1)
    if __name__ == '__main__':
        server = socketserver.ThreadingTCPServer(('127.1.1.1',9999), MyServer)
        server.serve_forever()
    
    
    客户端
    import socket
    obj = socket.socket()
    obj.connect(('127.1.1.1',9999,))
    ret_bytes = obj.recv(1024)
    print(str(ret_bytes,encoding='utf-8'))
    
    obj.close()
  • 相关阅读:
    Git更新或提交出错的解决办法
    webpack简单学习的入门教程
    CentOS源码安装QT
    后台程序在向tty/串口写数据的时候stop了
    Linux signal 处理
    Linux C 获取 文件的大小
    Microsoft Excel 标题栏或首行锁定
    Socket连接何时需要断开
    Windows MFC 打开文本
    动态库的生产和调用
  • 原文地址:https://www.cnblogs.com/koushuige/p/7929412.html
Copyright © 2011-2022 走看看