Java实现FTP客户端,获得IP和端口号的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实现FTP客户端,获得IP和端口号的问题相关的知识,希望对你有一定的参考价值。

“接收参数,传递服务器ip和 port”是如何实现的,args[]都没有初始化啊?
初学Java,有点搞不懂

public class FtpClient

/**
* 初始化FTP客户端
* @param args args[0]:IP args[1]:端口
* @return clientSocket:客户端Socket
*/
public Socket init(String[] args)

Socket clientSocket=null;
if(args.length>0)

try

//接收参数,传递服务器ip和 port
InetAddress ip=InetAddress.getByName(args[0]);
int port = Integer.parseInt(args[1]);
clientSocket=new Socket(ip,port);
//初始化下载文件存放文件夹"Download"
File downDirctory=new File("Download");
if(!downDirctory.exists())

downDirctory.isDirectory();
downDirctory.mkdir();


catch(Exception ex)

System.out.println("error");
ex.printStackTrace();


else

System.out.println("Tip:the usage of the program is set the 'ip' and 'port';");

return clientSocket;

InetAddress ip=InetAddress.getByName(args[0]);//第一个输进来的是ip
int port = Integer.parseInt(args[1]);//e\第二个输进来的是端口号
这两个就是接收参数
参考技术A init(String[] args)这方法是被另外的方法调用的,调用者会将args传给init方法,你再仔细看下代码之间的联系

Java网络编程:IP地址和端口号

1)IP地址

用来标志网络中的一个通信实体的地址。通信实体可以是计算机,路由器等。

2)IP地址分类

IPV4:32位地址,以点分十进制表示,如192.168.0.1

IPV6:128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,数之间用冒号(:)分开,如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984

3)特殊的IP地址

127.0.0.1 本机地址

192.168.0.0--192.168.255.255私有地址,属于非注册地址,专门为组织机构内部使用。

4)端口:port

IP地址用来标志一台计算机,但是一台计算机上可能提供多种应用程序,使用端口来区分这些应用程序。 端口是虚拟的概念,并不是说在主机上真的有若干个端口。通过端口,可以在一个主机上运行多个网络应用程序。 端口范围0---65535,16位整数

5)端口分类

公认端口 0—1023 比如80端口分配给WWW,21端口分配给FTP,22端口分配给SSH,23端口分配给telnet,25端口分配给smtp

注册端口 1024—49151 分配给用户进程或应用程序

动态/私有端口 49152--65535

6)理解IP和端口的关系

IP地址好比每个人的地址(门牌号),端口好比是房间号。必须同时指定IP地址和端口号才能够正确的发送数据

IP地址好比为电话号码,而端口号就好比为分机号。

 

以上是关于Java实现FTP客户端,获得IP和端口号的问题的主要内容,如果未能解决你的问题,请参考以下文章

如何用java程序获得本机的端口号?

网络编程实验1udp实现CS和端口号

JavaSE基础十---<网络编程>网络编程概述||通讯要素:IP和端口号,网络通信协议||关于InetAddress类||实现TCP通信||实现UDP通信

java正则表达式匹配IP地址和端口号作为捕获的组

node的ip地址和端口号

TCP通信