#!/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. underscore arrays

    1._.first():返回array(数组)的第一个元素.传递 n参数将返回数组中从第一个元素开始的n个元素 _.first = _.head = _.take = function(array, ...

  2. C#基础入门 五

    C#基础入门 五 递归 递归调用:一个方法直接或间接地调用了它本身,就称为方法的递归调用. 递归方法:在方法体内调用该方法本身. 递归示例 public long Fib(int n) { if(n= ...

  3. Thread in depth 1: The basic

    Every single thread has the follow elements: Execution Context:Every thread has a execution context ...

  4. Postgresql 分区表 一

    Postgres 10 新特性 分区表 http://francs3.blog.163.com/blog/static/40576727201742103158135/ Postgres 10 之前分 ...

  5. C#泛型使用小记

    最近C#的泛型使用频次略多,特在此记下一个印象深刻的. 情景如下, 基类BaseClass 有一系列的子类 SubClass1, SubClass2, SubClass3... 且其构造函数的参数较多 ...

  6. 关于.NET Core 2.0.2升级到2.1.1版本相关问题

    之前,因日常任务管理比较混乱,所以自己开发了PTager任务管理系统. 当时用了.NET Core 2.0版本. 现在想修改相关功能,但.NET Core已发布到2.1.301了,也即2.1.1. 附 ...

  7. Android 载入 HTML

    Android 中载入 HTML 有两种方式: 1. 用 TextView.setText(Html.fromHtml("<html></html>")); ...

  8. Spark Streaming初步使用以及工作原理详解

    在大数据的各种框架中,hadoop无疑是大数据的主流,但是随着电商企业的发展,hadoop只适用于一些离线数据的处理,无法应对一些实时数据的处理分析,我们需要一些实时计算框架来分析数据.因此出现了很多 ...

  9. 【12c OCP】最新CUUG OCP-071考试题库(49题)

    49.(11-1) choose the best answer Examine the structure of the SHIPMENTS table: You want to generate ...

  10. java中-的流-与操作

    /* 字节输出流  OutputStrema:     * OutputStream抽象类     * write(int b); 将指定的字节写入此流中     * write(byte[] b); ...