Skip to content

mstian06/android_swiftp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Swiftp

android swiftp server客户端。

说明:

  • 调试开关:

源码default.java中,public static final boolean release = true;//可以改成false打开log的开关,方便调试。

  • 通过USB进行ftp传输

大家知道,ftp需要两个端口,分别用于命令传输和文件传输。通过代码定制,可以达到usb ftp传输,简单实现类似豌豆荚pc客户端文件管理的功能。

定制代码NormalDataSocketFactory.java

	public int onPasv() {
		clearState();
		try {
			// Listen on any port (port parameter 0)
			server = new ServerSocket(0, Defaults.tcpConnectionBacklog);
			myLog.l(Log.DEBUG, "Data socket pasv() listen successful");
			return server.getLocalPort();
		} catch(IOException e) {
			myLog.l(Log.ERROR, "Data socket creation error");
			clearState();
			return 0;
		}
	}

在new ServerSocket(2221, Defaults.tcpConnectionBacklog),选择可用的数据传输端口(例如2221);除此之外,pc端还需要进行端口转换。

以windows为例,在手机上启动并开启swiftp server之后,pc ftp clent设置server的主机地址为环回地址(127.0.0.1),执行adb forward tcp:2121 tcp:2121adb forward tcp:2221 tcp:2221进行端口转换,这样保证clent请求的命令发向android的swiftp server端。

之后就可以通过usb进行ftp传输文件了,另外可以同时进行wifi ftp传输。

About

Android swiftp server实例。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages