#!/usr/bin/python
#coding=utf-8
#server
from socket import*
import sys,os
def command():
l=[ "Welcome!\n","command\n", "list\n","upload\n","download\n"]
return l
def list():
l=[]
for filename in os.listdir('.'):
l.append(filename)
return l
HOST="192.168.1.33"
PORT=5126
ADDR=(HOST,PORT)
sockob=socket(AF_INET,SOCK_STREAM)
sockob.bind(ADDR)
sockob.listen(5) a=[]
while 1:
sock,addr=sockob.accept() while 1:
data=sock.recv(1024)
str=data.split(" ") if data =="command":
a=command()
for i in a:
sock.send(i)
elif data =="list":
a=list()
for i in a:
sock.send(i)
elif str[0]=="upload":
f=open(str[1],'w')
s=sock.recv(1024)
print s
for i in s: #range(len(str)):
f.write(i)
print "upload is ok!"
elif str[0]=="download":
f=open(str[1],'r')
s=f.readlines()
for i in s:
sock.send(i)
print "download is ok!"
sockob.close()
sock.close()
 #!/usr/bin/python
#coding=utf-8
#client
from socket import *
import sys HOST='192.168.1.33'
PORT=5126
ADDR=(HOST,PORT)
sockob=socket(AF_INET,SOCK_STREAM)
sockob.connect(ADDR) while 1:
data=raw_input(">",)
str=data.split(' ')
if not str:
break
elif str[0]=="upload":
f=open(str[1],'r')
sockob.send(data)
s0=f.readlines()
print s0
for i in s0:
sockob.send(i)
elif str[0]=="download":
f=open(str[1],'w')
sockob.send(data)
s1=sockob.recv(1024)
f.write(s1)
elif data=="command" or data=="list":
sockob.send(data)
data=sockob.recv(1024)
print data sockob.close()

python-TCP模拟ftp文件传输的更多相关文章

  1. Python实现终端FTP文件传输

    实现终端FTP文件传输 代码结构: .├── client.py├── readme.txt└── server.py 运行截图: readme.txt tftp文件服务器 项目功能: * 客户端有简 ...

  2. 【RL-TCPnet网络教程】第35章 FTP文件传输协议基础知识

    第35章      FTP文件传输协议基础知识 本章节为大家讲解FTP(File Transfer Protocol,文件传输协议)的基础知识,方便后面章节的实战操作. (本章的知识点主要整理自网络) ...

  3. FTP文件传输服务

    FTP文件传输服务 一 .FTP 连接及传输的模式 l  控制连接:TCP21,用于发送FTP命令信息. l  数据连接:TCP 20, 用于上传下载数据. · 数据连接建立的类型: ·主动模式: 服 ...

  4. FTP 文件传输服务

    昨晚心血来潮,尝试用python写了一个ftp文件传输服务,可以接收指令,从远程ftp服务器同步指定目录数据,最后没用上,开源出来. https://github.com/jadepeng/ftp_t ...

  5. SSIS 学习之旅 FTP文件传输-脚本任务

    这一章主要讲解一下用脚本怎么把CSV文件抛送到FTP服务器上 设计:   通过Demon库的Users表数据生成CSV文件.   生成后的CSV文件抛送到FTP指定目录下. 控件的使用这里就不做详细讲 ...

  6. FTP(文件传输协议)工作原理

    目前在网络上,如果你想把文件和其他人共享.最方便的办法莫过于将文件放FTP服务器上,然后其他人通过FTP客户端程序来下载所需要的文件. 1.FTP架构 如同其他的很多通讯协议,FTP通讯协议也采用客户 ...

  7. FTP文件传输协议两种模式 ftp协议集,错误码集,ftp客户端命令集

    TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20.FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置.联接的方式.甚至是是否使用相同的操 ...

  8. Linux菜鸟成长日记 ( Linux 下的 ftp 文件传输协议 )

    https://blog.csdn.net/buster_zr/article/details/80244542 FTP FTP 是 File Transfer Protocol (文件传输协议)的英 ...

  9. FTP文件传输服务器原理

    FTP服务器,全称File Transfer Protocol Server,是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务.FTP,文件传输协议(File Transfer ...

随机推荐

  1. GPU的历史:从固定管线到可编程管线再到通用计算平台

    开始的时候GPU不能编程,也叫固定管线的,就是把数据按照固定的通路走完. 和CPU同样作为计算处理器,顺理成章就出来了可编程的GPU,但是那时候想在GPU上编程可不是容易的事,你只能使用GPU汇编来写 ...

  2. WIN7或2008远程连接特别慢的解决方法 【转】

    方法一. 原因在于从vista开始,微软在TCP/IP协议栈里新加了一个叫做“Window Auto-Tuning”的功能.这个功能本身的目的是为了让操作系统根据网络的实时性能,(比如响应时间)来动态 ...

  3. TSQL--验证身份证是否有效

    /****** Object: UserDefinedFunction [dbo].[udf_IsvalidIDCard] Script Date: 02/27/2014 16:03:20 ***** ...

  4. 使用centos官方镜像制作jdk8环境镜像

    首先将jdk文件或者tar包放在/var/local路径下 然后Dockerfile中写 # 以 centos7 为基础镜像 FROM centos:latest MAINTAINER chen # ...

  5. 自己的Java规范文档

    参考阿里Java规范文档 不建议使用过时方法 泛型需要加上<>,这种方式创建的对象是不推荐的. Map object = new HashMap();//禁止使用 字符串比较时,不需要大小 ...

  6. python网络编程--线程的方法,线程池

    一.线程的其他方法(Thread其他属性和方法) ident() 获取线程id Thread实例对象的方法 isAlive() 设置线程名 getName() 返回线程名 setName() 设置线程 ...

  7. SUBSET

    DESCRIPTION:一开始你有一个空集,集合可以出现重复元素,然后有Q 个操作1. add s在集合中加入数字s.2. del s在集合中删除数字s.保证s 存在3. cnt s查询满足a& ...

  8. http协议与https协议的区别

    1.前言 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可 ...

  9. js滚动距离

    滚动距离 onclick="$('html,body').animate({scrollTop:$('.J_user_evaluate').offset().top-110},500)&qu ...

  10. 根据IP获取IP定位

    http://ip.taobao.com/service/getIpInfo.php?ip=27.17.60.152 {,"}} 不确定是否有次数限制