socket 上传文件代码

server.py

#!/usr/bin/env python# -*- coding:utf-8 -*-

import socketimport os,hashlib

ip_port = (‘127.0.0.1‘,6969)sk = socket.socket()sk.bind(ip_port)sk.listen(5)

while True:    conn,address = sk.accept()    while True:        print(‘等待新指令‘)        #获取客户端发来的操作指令        data = conn.recv(1024)        if not data:            print(‘客户端已经断开‘)            break        cmd,filename= data.decode().split()        if os.path.isfile(filename):            #读取客户端指定的文件            f=open(filename,‘rb‘)            m = hashlib.md5()            file_size = os.stat(filename).st_size            print(‘file_size:‘,file_size)            # 将客户端指定的文件大小返回客户端            conn.send(str(file_size).encode(‘utf-8‘))            #接收sk.send(b"ready to recv file")            conn.recv(1024)            for line in f:                #读取文件的内容,并修改成密文                m.update(line)                # 发送改成密文后的文件内容                conn.send(line)            f.close()    conn.close()

client.py
#!/usr/bin/env python# coding:utf-8

import socketimport sysimport os

ip_port = (‘127.0.0.1‘, 6969)sk = socket.socket()sk.connect(ip_port)

while True:    # 客户端输入要下载文件的路径,get开头    cmd = input(‘path:‘).strip()    if len(cmd) == 0:        continue    if cmd.startswith(‘get‘):        # 发送操作指令        sk.send(cmd.encode())        file_size = sk.recv(1024)        print(‘file_size:‘,file_size)        # 发送准备好的信息        sk.send(b"ready to recv file")        file_total_size = int(file_size.decode())        receive_size = 0        #file_name =cmd.split()[1]        file_name = ‘hah.log‘        f = open(file_name,‘wb‘)        while receive_size <file_total_size:            # 接收发送的密文,并写入新文件中            data = sk.recv(1024)            receive_size +=len(data)            f.write(data)        else:            print(‘file recv done‘)        f.close()

sk.close()

原文地址:https://www.cnblogs.com/yoyo008/p/9648036.html

时间: 2024-10-07 01:24:02

socket 上传文件代码的相关文章

jquery ajax实现上传文件代码,带进度条

原文:jquery ajax实现上传文件代码,带进度条 源代码下载地址:http://www.zuidaima.com/share/1550463291116544.htm ajax上传文件代码,带进度条的. 首页 http://localhost:端口/项目名/common/test.htm 上传中 标签: jquery ajax 上传 进度条话题: Web开发 前端技术 jquery ajax实现上传文件代码,带进度条

php 利用socket上传文件

php 利用socket上传文件 张映 发表于 2010-06-02 分类目录: php 一,利用fsockopen来上传文件 以前我写过一篇关于socket通信原理的博文http://blog.51yip.com/php/673.html有兴趣的朋友可以看看,前面讲的那篇博文,socket的服务器和客户端都是要用php命令来运行的.平常我们上传文件是浏览本地文件,通过一个php程序将文件上传一个地方,这个时候我们用php命令来运行php程序就不方便了.这个时候我们可以用fsockopen来打开

Drupal创建自定义表单,上传文件代码

Drupal中创建自定义表单,用来上传文件,对上传文件做一些操作.以下是放在Module中的代码: 一.菜单建立表单路径 /** Implementation of hook_menu(). */ function moduleName_menu () { $items = array(); $items['admin/import'] = array( 'title' => 'title', 'page callback' => 'drupal_get_form', 'page argume

ExtJS + fileuploadfield上传文件代码

后台服务端接收文件的代码: /** * 后台上传文件处理Action */ @RequestMapping(value = "/uploadFile", method=RequestMethod.POST) public void uploadFile(@RequestParam(value="file",required=true) MultipartFile file ,HttpServletResponse response) { ModelMap model

PHP上传文件代码练习2 (重复文章)

表单: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题</title> </head> <body> <form action="upload.php" method="post" enctype=

上传文件代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

socket 上传文件

""" "" server.py """服务端 """import socketimport oss=socket.socket()s.bind(('127.0.0.1',8888,))s.listen(5) while True: c,addr=s.accept() c.sendall(bytes("上传FTP",encoding="utf-8")); f

Python学习之socket上传文件

#服务器 import socketserver,json,os class MyTCPHandler(socketserver.BaseRequestHandler): # handle() # 执行完就断开,处理和客户端的所有交互 def put(self,*args): #接受客户端文件 cmd_dic = args[0] # 传进来的是 字典cmd_dic # print(cmd_dic) # b'{"action": "put", "filena

javaWeb上传文件代码

javaweb两种方式的上传,1普通上传,2:jquery ajax后台上传,部分截图如下: 完成包下载,下载后倒入myeclipse工程即可,下载地址:http://files.cnblogs.com/files/haha12/uploadDemo.rar