Code Monkey home page Code Monkey logo

python-ft's Introduction

FileTransporter

这是一个基于socket(TCP)的文件(夹)传输程序

预览效果

0、环境搭建

在virtualenv环境下,cd 进入 requirements.txt所在目录,执行以下指令完成所需模块的安装

pip install -r requirements.txt

1 、ftserver.py :接收端程序

基本用法

python3 ftserver.py 

默认主机地址:计算机本地ip (例如 '192.168.1.100'), 默认下载目录: downloads,

默认工作端口:9997(传输文件数据)、9998(传输程序指令)

详细用法

-i 设置主机地址

-p 指定端口号

-d 指定文件(夹)保存路径 

示例

先用 cd 命令 切换到 ftserver.py 所在文件夹,然后:

python3 ftserver.py -i 192.168.1.100 -p 9909 -d /users/Capton/downloads

参数解释

  • 在局域网下,-i 地址参数可缺省(程序里默认指定了本地ip)
  • -p 端口参数可自由设置 (9998除外, 这是传输指令的端口号)
  • -d 文件保存目录页可自由设置

效果

2 、ftclient.py :发送端程序

基本用法

python3 ftclient.py -i <主机名(ip)> -f <文件路径>

局域网内下,填目标主机名或本地ip

详细用法

-i 设置接收方主机名称(地址),必要参数

-p 指定接收方服务端口号 ,可选参数

-f 指定要发送的文件(夹)路径 ,必要参数

示例

先用 cd 命令 切换到 ftclient.py 所在文件夹,然后:

python3 ftclient.py -i 192.168.1.100 -p 9909 -f /users/Capton/desktop/test

效果

注意

运行接收端程序,需要一个能访问的地址,也即是说最好是局域网内进行文件传输工作,因为局域网本地ip都是可以直接访问的,若是在公共网络传输文件,必须知道接收方主机的公网ip和内网ip。

例如我现在用到接收方主机是腾讯云的主机,内网ip是10.135.xxx.xxx,公网ip是111.120.xxx.xxx。该主机内,运行接收(服务)端程序

python3 ftserver.py -i 10.135.xxx.xxx -d /home/ubuntu/downloads

而在你的主机运行发送(客户)端程序发送文件夹bilibili

python3 ftclient.py -i 111.120.xxx.xxx -f /Users/capton/desktop/bilibili

因为腾讯云、阿里云等国内虚拟主机供应商是采用NAT地址转换对云主机进行地址分配的,所以按照我上面的步骤来运行两端程序才能连通

python-ft's People

Contributors

ccapton avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.