android telnet服务器端,Android FTP客户端实现、Telnet客户端
Android FTP客户端实现
android中使用第三方库来操作FTP,这里使用Apache的包,下载地址为:http://commons.apache.org/proper/commons-net/download_net.cgi
其文件名称为:commons-net-3.3-bin.zip
步骤1:在项目中引入包commons-net-3.3.jar,导入需要的FTPClient类;
步骤2:初始化FTPClient
mFtp=new FTPClient();
步骤3:设置登录的地址和端口
mFtp.connect(ftpUrl,21);
步骤4:设置登录用户名和密码
mFtp.login(name,pwd);
步骤5:设置文件类型和采用被动传输方式
mFtp.setFileType(FTP.BINARY_FILE_TYPE);
mFtp.enterLocalPassiveMode();
步骤6:传输文件
boolean aRtn=mFtp.storeFile(remoteFileName,aInputStream);//成功返回true
aInputStream.close();
步骤7:关闭连接
mFtp.disconnect();
核心代码:
//导入需要的FTPClient类
import org.apache.commons.net.ftp.FTPClient;
//初始化FTPClient
FTPClient ftpClient=new FTPClient();
try{
//连接到指定的FTP服务器
ftpClient.connect(InetAddress.getByName(SERVER));
//使用用户名和密码登录FTP
ftpClient.login(USERNAME,PASSWORD);
//检查返回的字符串中是否包含250–250响应代码表示“行为完成”
if(ftpClient.getReplyString().contains(“250”)){
//设置文件类型
ftpClient.setFileType(//默认使用的是ASCII编码的,这里设置为二进制文件
org.apache.commons.net.ftp.FTP.BINARY_FILE_TYPE
);
//定义一个缓冲区
BufferedInputStream buffIn=null;
//将文件加载到缓冲区中
buffIn=new BufferedInputStream(new FileInputStream(FULL_PATH_TO_LOCAL_TYPE));
//设置客户端的PASV模式(客户端主动连服务器:端口用20)
ftpClient.enterLocalPassiveMode();
//存储文件。返回是否成功
boolean result=ftpClient.storeFile(localAsset.getFileName,progressInput);
//关闭缓冲区
buffIn.close();
//登出
ftpClient.logout();
//断开连接
ftpClient.disconnect();
}
}catch(SocketException e){
}catch(UnKnowHostException e){
}catch(IOEception ioe){
}
Telnet客户端
实现的远程控制Web服务器。
android使用第三方库Telnet,这里使用Apache的包,下载地址:http://commons.apache.org/proper/commons-net/download_net.cgi
其文件名称为:commons-net-3.3-bin.zip
步骤1:在项目中引入包commons-net-3.3.jar,导入需要的TelnetClient类;
步骤2:初始化TelnetClient
tc=new TelnetClient();
步骤3:打开连接
tc.connect(remoteip,remoteport);
步骤4:读写数据
tc.getInputStream(); tc.getOutputStream();
步骤5:断开Telnet连接
tc.disconnect();
核心代码:
//定义一个TelnetClient
TelnetClient tc=new TelnetClient();
try{
//连接到指定的FTP服务器
tc.connect(remoteip,remoteport);
}catch(IOEception ioe){
System.exit(1);
}
IOUtil.readWrite(tc.getInputStream(),tc.getOutputStream(),System.in,System.out);
try{
//断开连接
tc.disconnect();
}catch(IOEception ioe){
}
其中调用的IOUtil类封装了一些读写操作
public final class IOUtil{
public staic final void readWrite(final InputStream remoteInput,final OutputStream remoteOutput,final InputStream localInput,final OutputStream localOutput){
//定义读写的线程
Thread read,writer;
//定义读线程的具体操作
reader=new Thread(){
@Override
public void run(){
int ch;
try{
//判断没被中断的时候
while(!interrupred()&&(ch=localInput.read())!=-1){
//写自己到远程输入里面
remoteOutput.write(ch);
//刷新发送
remoteOutput.flush();
}
}catch(IOException e){
}
}
};
//定义写线程的具体操作
reader=new Thread(){
@Override
public void run(){
int ch;
try{
//把数据从输入流复制到输出流
Util.copyStream(remoteInput,localOutput);
}catch(IOException e){
System.exit(1);
}
}
};
//设置Writer线程
writer.setPriority(Thread.currentThread().getPriority()+1);
//启动writer线程
writer.start();
//设置reader为后台运行
reader.setDaemon(true);
//启动readre线程
reader.start();
try{
//使得writer线程完成run()方法后,在执行join()方法后的代码
writer.join();
//中断reader线程
reader.interrupt();
}catch(InterruptedException e){
}
};
}
Share this:
android telnet服务器端,Android FTP客户端实现、Telnet客户端相关推荐
- Android中服务器端与客户端交互
一:服务器端建立 1:下载Tomcat 以及 struts(框架:为了解决文件上传更简洁),后面会提供两个资源的下载链接.然后解压下载好的Tomcat和struts 2:配置tomcat:打开Myec ...
- Telnet,Mstsc,SSH,FTP之间的比较和区别
文章目录 1 Telnet 1.1 Telnet是什么协议 1.2 Telnet有什么用 1.2.1 Telnet使用 1.3 Telnet系统组成 2 Telnet与mstsc的区别 3 SSH 3 ...
- android从服务端获取json解析显示在客户端上面,Android服务端获取json解析显示在客户端上面.doc...
Android服务端获取json解析显示在客户端上面 Android从服务端获取json解析显示在客户端上面 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比 ...
- Linux as4开启telnet,linux as4 虚拟机 上开启 telnet 和ssh 和 ftp 服务
1.telnet服务开启 (1)输入[root@rehat ~]# chkconfig krb5-telnet --list krb5-telnet on 这是你的服务存在的状态,如果没有的话 ...
- Android连接SQLServer详细教程(数据库+服务器+客户端),并在微软Azure云上搭建云服务
Android连接SQLServer详细教程(数据库+服务器+客户端),并在微软Azure云上搭建云服务 参考博客:http://blog.csdn.net/zhyl8157121/article/d ...
- 视频教程-仿淘宝客户端电商平台android初级速成-Android
仿淘宝客户端电商平台android初级速成 北风网技术总监,在某大型电信设备公司担任架构师,主要从事电信领域的软件开发,经验丰富.对电信计费系统以及核心网软件系统有深入了解,对设计高可靠性,高扩展性的 ...
- FC6下的ftp服务和telnet服务安装
费了几天的劲,终于把FC6下的ftp服务和telnet服务安装上了! 我是用的VMware 6下建的FC6, 1.启动ftp服务:,我是菜鸟,开始不知道FC6下带着ftp服务,于是疯狂的找rpm包,找 ...
- Android Socket编程android端服务器和客户端的实现
Android Socket编程android端服务器和客户端的实现 其实和java实现的差不多,或本质是用java实现的,但由于android有自身的独特性,所以还是有一些要注意的点: ...
- Android连接SQLServer详细教程(数据库+服务器+客户端)
本文为原创,如果转载请注明出处 http://blog.csdn.net/zhyl8157121/article/details/8169172 其实之前发过一篇这样的博文http://blog.cs ...
最新文章
- 有哪些「魔改」损失函数,曾经拯救了你的深度学习模型?
- 【STM32】外部中断
- Struts2的核心过滤器
- matlab soble滤波,MATLAB 图像滤波去噪分析及其应用
- NYOJ-非洲小孩(贪心)
- Sentinel服务熔断只配置blockHandler_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0051
- .Net程序集强签名详解
- android 添加个人标签,android – 如何在标签标签上添加填充?
- T-SQL语言(二)
- java+整合handwrite_Java
- 微积分 --- 以e为底的指数函数(个人学习笔记)
- 在Debian中网卡的设置
- 将本地调试gdb移植到arm板
- (转)sqlserver 数据恢复方法
- layer打开弹窗时传递参数(content:)【layer弹窗插件】
- 腾讯云服务器基础操作
- 爱快 Open v服务端 全局推送路由器命令
- [Unity 学习] Unity 入门学习及第一个游戏
- 【matlab】画二维/三维散点图时用颜色及散点大小表示数据大小
- [笔记] GPGPU-SIM的使用说明(一)
热门文章
- 制作一个古诗词的html,徐汉峰笔迹2136.诗词高手制作出万能词汇表.
- 《魔兽世界》10个让你感动流泪的故事_马立杰_新浪博客
- qrcode.js生成微信二维码
- Android面试题(25)-Bundle机制
- Excel中的小技巧amp;大智慧
- ssm微信小程序美容理发店预约系统app——计算机毕业设计
- 【优化覆盖】基于matlab粒子群算法优化无人机编队布局求解车载网络通信覆盖优化问题【含Matlab源码 2021期】
- s00devs_Devs @ Home –现场网络研讨会– CEST:4月30日13:00:Hibernate提示和技巧–解决常见问题的15条提示
- 抖音一个老人和一个机器人歌曲_《抖音》多年以后有个可爱老头歌曲分享
- 认识VF--Visual FoxPro 漫谈(轉)