如何用安卓手机建立个ftp服务器,让外网手机或电脑连接

如何用安卓手机建立个ftp服务器,让外网手机或电脑连接,第1张

你要一步一步地解决问题,不要试图一下子就解决问题,因为涉及多方面的知识。

你先要在安卓手机把FTP先安装起来,本地先访问起来,再远程访问;

给你FTP服务端的APK程序你都没有下载,再给你另一小巧版本miniftp。

接下来在路由器里用MAC的办法固定手机的内网IP,以便将手机设为路由器的DMZ主机;

设法知道路由器的外网地址(访问IP138网就能知道);

用Cuteftp客户端以路由器公网IP访问手机的ftp

工具/原料

root软件:百度root为佳!如果你已经获取了权限,可以跳过。

ksweb软件:用于搭建手机php服务器的软件。

nat123软件:强大的内网端口映射软件,不需要路由器权限。

方法/步骤

1安装手机本地php+mysql服务器环境篇 :

11安装ksweb软件,安装好ksweb后,会在手机上生成一个文件夹htdocs,其目录是mnt/sdcard/htdocs,htdocs是网站的根目录。

12安装mysql 直接点击mysql管理,点击选择“是”然后解压便可自动安装。mysql的账号密码随后再改(在设置里面更改)。

13安装好MySQL之后,我们需要对ksweb进行一些设置方可更好使用。

131端口的更改步骤:(启用root→更改80端口)手机服务器启用root,在ksweb设置里面把root打钩。

132开启手机80端口方法:把8080端口改为80端口,并把PHP服务,MySQL都打勾。其他一些设置比如MySQL密码,开机自启动等选项大家根据需要自行修改即可!

14ksweb全部设置好后,我们打开手机本地服务器地址localhost:80,表示设置好了。

我们点击页面中的“Enter KSWEB Web Interface”可以看到手机服务器的一些配置信息(默认账号密码都是“admin”),表示手机服务搭建成功,一切正常!

2利用nat123软件进行内网80端口映射篇:

21注册账号,我们先到其官网注册账号官网,大家百度nat123即可。

22登陆并添加域名解析。

221 应用名称,要搭建自己的博客,可以填XX的博客,或者XX的个人博客等。

222 内网端口,只有root的手机才填80端口。

223 内网地址这个默认localhost就行。

224 外网域名,如果没有自己的域名,可以用官方免费的二级域名,注意格式,一切填好之后,点击确认保存即可!

23 下载并安装登陆安卓版的nat123,就自动解析了。

34 接下来在另一台电脑上输入刚才的域名访问,表示安卓手机web服务器安装成功,网站搭建成功!

注意事项

另外如果需要手机网站一直都可以访问,需要下载一个永不关屏软件,这样手机就不会进入睡眠状态,服务也不会停止,不过比较耗电。

外网能访问内网手机web服务器的关键是nat123端口映射功能,利用nat123端口映射功能,不只是搭建内网网站,还可以挖掘其他的许多用途。

TCP方式:
TCP协议客户端实现:
//创建一个Socket对象,指定服务器端的IP地址和端口号
Socketsocket=newSocket("1921681104",4567);
//使用InputStream读取硬盘上的文件,这里只是用文件当做信息源,可以读取控件用户输入信息
InputStreaminputStream=new
FileInputStream("f://file/wordstxt");
//从Socket当中得到OutputStream
OutputStream outputStream=socketgetOutputStream();
bytebuffer[]=newbyte[41024];inttemp=0;
//将InputStream当中的数据取出,并写入到OutputStream当中
while((temp=inputStreamread(buffer))!=-1)
5
{
outputStreamwrite(buffer,0,temp);}
outputStreamflush();}
TCP协议服务器端实现:
//声明一个ServerSocket对象
ServerSocketserverSocket=null;
try{
//创建一个ServerSocket对象,并让这个Socket在4567端口监听
serverSocket=newServerSocket(4567);
//调用ServerSocket的accept()方法,接受客户端所发送的请求,
//如果客户端没有发送数据,那么该线程就停滞不继续
Socketsocket=serverSocketaccept();
//从Socket当中得到InputStream对象
InputStreaminputStream=socketgetInputStream();
bytebuffer[]=newbyte[10244];
inttemp=0;
//从InputStream当中读取客户端所发送的数据
while((temp=inputStreamread(buffer))!=-1)
{
Systemoutprintln(newString(buffer,0,temp));}
}
catch(IOExceptione)
{
eprintStackTrace();}
serverSocketclose();
}
UDP方式
UDP的客户端代码实现如下:
public static void main(String[]args)
{
try{
//首先创建一个DatagramSocket对象
DatagramSocket socket=new DatagramSocket(4567);
//创建一个InetAddree
6
InetAddress serverAddress=InetAddressgetByName("1921681104");
String str="hello";
//这是要传输的数据
byte data[]=strgetBytes();
//把传输内容分解成字节
//创建一个DatagramPacket对象,并指定要讲这个数据包发送到网
络当中的哪个地址,以及端口号
DatagramPacket packet=new
DatagramPacket(data,datalength,serverAddress,4567);
//调用socket对象的send方法,发送数据
socketsend(packet);}
catch(Exceptione)
{
eprintStackTrace();}
}
UDP的服务端代码实现如下:
//创建一个DatagramSocket对象,并指定监听的端口号
DatagramSocket socket=new DatagramSocket(4567);
bytedata[]=newbyte[1024];
//创建一个空的DatagramPacket对象
DatagramPacket packet=new DatagramPacket(data,datalength);
//使用receive方法接收客户端所发送的数据,
//如果客户端没有发送数据,该进程就停滞在这里
socketreceive(packet);
Stringresult=newString(packetgetData(),packetgetOffset(),
packetgetLength());
Systemoutprintln("result--->"+result);

1、运行我们的App

2、进入app主画面

3、在画面底部找到 控制台 选项

4、进入控制台画面,在画面中 我的云产品-> 云服务器ESC,选择云服务器ESC

5、在实例中可以看到我们的一台实例

6、选择实例就可以进入 监控图表 画面

7、选择一个图表资料可以查看图标数据

8、在左上角还可以根据 时间端来查看服务器状态


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13172832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-15
下一篇 2023-06-15

发表评论

登录后才能评论

评论列表(0条)

保存