博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
socketserver服务器
阅读量:4613 次
发布时间:2019-06-09

本文共 3079 字,大约阅读时间需要 10 分钟。

'''网络编程Socket(TCP,IP)套接字服务端    运行起来,客户端客户端客户端客户端服务端:import socketsk = socket.socket()#绑定端口号sk.bind(('127.0.0.1',9999,))#接收客户请求sk.listen(5)#链接客户端地址信息while True:    #    conn,address = sk.accept()    conn.sendall(bytes('老男孩',encoding='utf-8'))    while True:        ret_bytes = conn.recv(1024)        ret_str = str(ret_bytes,encoding='utf-8')        conn.sendall(bytes('你妹',encoding='utf-8'))        print(ret_str)        break    print(conn,'\n\n\n',address)客户端import socketobj = socket.socket()obj.connect(('127.0.0.1',9999,))#等待接受服务器消息r = obj.recv(1024)print(str(r,encoding='utf-8'))obj.sendall(bytes('呵呵',encoding='utf-8'))r1 = obj.recv(1024)print(str(r1,encoding='utf-8'))obj.close()文件传输服务端import socketsk = socket.socket()#绑定端口号sk.bind(('127.0.0.1',9999,))#接收客户请求sk.listen(5)#链接客户端地址信息conn,address = sk.accept()file_name = conn.recv(1024)str_file_name = str(file_name,encoding = 'utf-8')r = 0f = open('D:\E\semantic\%s'%str_file_name,'wb')while True:    r += 1    print(r)    ret_bytes = conn.recv(1024)    f.write(ret_bytes)    f.flush()    if ret_bytes:        pass    else:        print('ok')        break客户端import time,ostime.sleep(3)import socketobj = socket.socket()obj.connect(('127.0.0.1',9999,))path_name  = 'D:\e\同步文件\桌面 EXT/楚楚街 主推款.xlsx'file_name = os.path.basename(path_name)obj.sendall(bytes(file_name,encoding='utf-8'))q = 0with open(path_name,'rb') as f:    for i in f:        q += 1        print(q)        obj.sendall(i)obj.close()socketserver多进程服务器:    并发处理多个客户请求    使用方法:        1,创建类,必须继承        2,handle方法        3,server.serve_foreverimport socket,socketserverclass myserver(socketserver.BaseRequestHandler):    def handle(self):        conn = self.request        conn.sendall(bytes('hello',encoding='utf-8'))        ret = conn.recv(1024)        ret_str = str(ret,encoding='utf-8')        print(ret_str)if __name__ == '__main__':    server = socketserver.ThreadingTCPServer(('127.0.0.1',9999),myserver)    server.serve_forever()socketserver 服务器多进程 文件传输服务器import socket,socketserverclass myserver(socketserver.BaseRequestHandler):    def handle(self):        conn = self.request        file_name = conn.recv(1024)        tr_file_name = str(file_name,encoding='utf-8')        f = open('D:\E\semantic/%s'%tr_file_name,'wb')        conn.sendall(bytes('腻2',encoding='utf-8'))        r = False        ww = 0        while not r:            data = conn.recv(1024)            f.write(data)            if data:                ww += 1                print(ww)            else:                r = Trueif __name__ == '__main__':    server = socketserver.ThreadingTCPServer(('127.0.0.1',9999),myserver)    server.serve_forever()客户端import time,ostime.sleep(2)import socketobj = socket.socket()obj.connect(('127.0.0.1',9999,))path_name  = 'D:\E\同步文件\装修Banner\产品抠图/用品2.psd'file_name = os.path.basename(path_name)obj.sendall(bytes(file_name,encoding='utf-8'))print(str(obj.recv(1024),encoding='utf-8'))q = 0with open(path_name,'rb') as f:    for i in f:        q += 1        print(q)        obj.sendall(i)obj.close()'''

  

转载于:https://www.cnblogs.com/cloniu/p/6253113.html

你可能感兴趣的文章
javascript:巧用eval函数组装表单输入项为json对象
查看>>
为什么我们叫雪狼队
查看>>
wpf button变成圆角
查看>>
测试开发学习进阶教程 视频&PDF
查看>>
C#基础-连接Access与SQL Server
查看>>
autofac
查看>>
MacOS 系统终端上传文件到 linux 服务器
查看>>
Excel导出POI
查看>>
兼容性
查看>>
自动执行sftp命令的脚本
查看>>
转 Merkle Tree(默克尔树)算法解析
查看>>
网络编程基础之socket编程
查看>>
各种浏览器的user-agent和
查看>>
Restful levels
查看>>
Phonegap移动开发:布局总结(一) 全局
查看>>
Java 变参函数的实现
查看>>
Spring重温(四)--Spring自动组件扫描
查看>>
Android设计图(标注、切图)
查看>>
strstr and strpos
查看>>
hash算法与拉链法解决冲突
查看>>