简单FTP客户端软件开发——搭建FTP服务器

这篇具有很好参考价值的文章主要介绍了简单FTP客户端软件开发——搭建FTP服务器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

计网课程设计的要求是:

1) 该FTP客户端程序具有以下基本功能:

  能完成FTP链接的打开和关闭操作;

  能执行文件的上传和下载;

  能完成目录的创建、删除等有关操作。

  要求可以传输简单的文本文件。

2) 开发美观易用的图形界面

FTP使用客户服务器方式,因为开发的是客户端,所以需要一个FTP服务器,客户端进行连接访问,进行文件操作。

前面我们已经安装好了Linux虚拟机,在Linux搭建FTP服务器原参考博客:

【Linux - 搭建ftp服务器】

但是!!!按照原博客搭建的FTP服务器会有很多访问权限问题,导致无法正常连接FTP服务器进行文件操作。

经过很多很多次尝试,我省略了原博客中很多设置,搭建了一个可以正常连接和进行文件操作的FTP服务器。

安装vsftpd软件

yum install vsftpd -y

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

启动vsftpd软件

service vsftpd start

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

下载客户端工具ftp和lftp

yum install ftp lftp -y

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

新建用户

useradd sc

设置密码

echo 123|passwd sc --stdin

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

登录lftp

查看FTP服务器的ip地址:

ip addr

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

登录FTP服务器:

lftp -u sc,123 192.168.206.131

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

登录成功!

cmd无法连接FTP服务器

此时外部还是无法连接FTP服务器:

Windows:WIN+R打开命令行窗口,输入ftp,再输入open+FTP服务器地址

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

关闭Linux系统的防火墙

service firewalld stop

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

关闭Linux系统的selinux

selinux是linux的一个内核模块,是linux的安全子系统。

[root@localhost vsftpd]# getenforce 
Enforcing
[root@localhost vsftpd]# setenforce 0
[root@localhost vsftpd]# getenforce 
Permissive

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

cmd成功连接FTP服务器

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

cmd登录FTP服务器

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

Java连接FTP服务器

package ftp;

import org.apache.commons.net.ftp.FTPClient;

public class ftpConnect {
    private static final String ftp_server="192.168.206.131";  //FTP服务器地址
    private static final int ftp_port=21;  //FTP服务器端口号
    private static final String ftp_user="sc";  //用户

    private static final String ftp_passwd="123";  //密码
    private static final int timeout=5000;  //超时时间
    private static final String enconding="utf-8";  //编码配置
    public static FTPClient getFTPClient() throws Exception{
        FTPClient client=new FTPClient();  //实例化FTPClient类
        client.connect(ftp_server,ftp_port);  //连接FTP服务器
        client.login(ftp_user,ftp_passwd);  //用户登录
        client.setConnectTimeout(timeout);  //设置超时时间
        client.setControlEncoding(enconding);  //设置编码
        System.out.println("【FTP连接】状态码"+client.getReplyCode());  //如果可以连接返回230
        return client;
    }

}
package ftp;

import org.apache.commons.net.ftp.FTPClient;

public class ftpTest {
    public static void main(String[] args) throws Exception{
        FTPClient client=ftpConnect.getFTPClient();  // 获取FTP连接
        System.out.println(client.abort());  //中断当前的FTP传输,如果成功返回true,否则返回false
        client.logout();  //注销
    }
}

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

Linux开放文件操作目录权限

FTP服务器的文件操作目录为/var/ftp/,此时无法对该目录进行文件操作,开放该文件夹下所有文件的权限:

chmod -R 777 /var/ftp/*

简单FTP客户端软件开发——搭建FTP服务器,学习笔记,服务器,java,网络,学习,笔记,linux

重启FTP服务器:

service vsftpd restart

外部就可以对/var/ftp/进行文件操作了。

至此!!!就可以进行FTP客户端的开发了!!!

注意:每次关闭Linux虚拟机后,再次启动FTP服务器前都需要关闭防火墙和selinux。文章来源地址https://www.toymoban.com/news/detail-772107.html

到了这里,关于简单FTP客户端软件开发——搭建FTP服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 这5款免费的 FTP 客户端,你用过几个?Windows、Mac 和 Linux都适用!

    经常使用Linux的朋友经常需要将文件传输到Linux上,或者你在运营一个博客网站,也会涉及到将文件传输到服务器上。一般情况下,我们都会选择使用FTP,那么就会涉及到使用FTP客户端,使用FTP客户端可以轻松上传、下载和管理服务器的文件,FTP客户端市面上有很多,本文将给

    2024年02月09日
    浏览(47)
  • 【手把手做ROS2机器人系统开发五】使用C++实现编写简单的服务器和客户端

    目录 使用C++实现编写简单的服务器和客户端 一、程序编写 1、创建软件包  2、编译软件包 3、软件配置 4、服务器程序编写 5、客户端程序编写 6、软件包设置 7、设置编译选项 二、程序测试 1、编译程序 2、开启节点测试运行 3、执行效果展示          上一讲我们讲解了如

    2024年02月10日
    浏览(27)
  • 分布式软件架构——客户端缓存

    当万维网刚刚出现的时候,浏览器的缓存机制差不多就已经存在了。在 HTTP 协议设计之初,人们便确定了服务端与客户端之间“无状态”(Stateless)的交互原则,即要求客户端的每次请求是独立的,每次请求无法感知、也不能依赖另一个请求的存在,这既简化了 HTTP 服务器的

    2024年02月12日
    浏览(27)
  • 【libevent】http客户端3:简单封装

    LibEventHttp

    2024年02月15日
    浏览(33)
  • 常用的ssh客户端软件有哪些

    是一种用于连接 SSH 服务器的软件,通常被用于在远程主机上执行命令、传输文件和进行安全的远程管理等操作。SSH 客户端通过 SSH 协议进行通信,提供了加密和认证等安全机制,可以保证通信的安全性和可靠性。SSH 客户端通常具有多个会话窗口和标签页,可以同时连接多个

    2024年02月08日
    浏览(36)
  • 因项目只做socket客户端,不想用workerman或者swoole框架,简单实现ws PHP客户端

    docs/Client.md · master · mirrors / Textalk / websocket-php · GitCode

    2024年02月13日
    浏览(38)
  • c语言实现简单的tcp客户端

    功能:实现一个简单的tcp客户端,连接本地端口8888的tcp服务端,并发送一条报文。  

    2024年02月14日
    浏览(33)
  • 10. Linux下实现简单的http客户端请求

    本文Linux下实现简单的http客户端请求 HTTP(超文本传输协议)是一种用于在网络上进行数据通信的协议。HTTP 协议定义了客户端和服务器之间如何交换信息,包括请求和响应格式、使用的方法、状态码等。 在 HTTP 协议中,资源(Resource)指的是由 URL (统一资源定位符)所标识

    2024年02月16日
    浏览(35)
  • C# socket——简单的TCP 客户端 连接通信

    TCP编程的客户端一般步骤是: 1、创建一个socket,用函数socket()。 2、设置socket属性。 3、设置要连接的对方的IP地址和端口等属性。 4、连接服务器,用函数connect()。 5、收发数据,用函数send()和recv(),或者read()和write()。 6、关闭网络连接。 using System; using System.Net; using System.

    2024年02月11日
    浏览(29)
  • 【计算机网络】 基于TCP的简单通讯(客户端)

    加载库 创建套接字 连接服务端 连接服务端我们使用的是connect()函数,分别为连接使用的socket,连接的地址信息,连接的地址信息长度。返回值为int类型,如果没有错误返回0,否则返回SOCKET_ERROR。 收发数据 关闭套接字、卸载库 这样我们的TCP协议简单通讯就写好了。 先运行

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包