59 网络编程(一)——端口与InetSocketAddress

端口与几个CMD命令

公认端口:0-1023 比如80端口分配给www,21端口分配给FTP等

注册端口:2014-49151  分配给用户进程或引用程序

动态/私有端口:49151-65535

需要知道的CMD命令

查看所有端口 :netstat -ano

查看指定端口:netstat -ano|findstr "80"

查看指定进程:tasklist | findstr "8080"

InetSocketAddress类

套接字

套接字就像是传输层为应用层开的一个小口,应用程序通过这个小口向远程发送数据,或者接收远程发来的数据;而这个小口以内,也就是数据进入这个口以后,或者数据从这个口出来之前,是不知道也不需要知道的,也无需关心它如何传输,这属于网络其他层次的工作。

用于实现套接字,他可以是IP地址+端口号,也可以是 主机名+端口号

构造方法

构造方法:InetSocketAddress(InetAddress addr ,int port)

构造方法:InetSocketAddress(int port)

     创建一个套接字地址,其中IP地址为通配符地址,端口号为指定值

常用方法

  • getAddress()
  • getHostName()
  • getHostString()
  • getPort()

代码演示

package _20191213;

import java.net.InetSocketAddress;

/**
 * InnetSocketAddress是实现套接字的一个类
 * @author TEDU
 *
 */
public class InetSocketAddressTest {
	public static void main(String[] args) {
		InetSocketAddress socket1 = new InetSocketAddress("60.125.128.247",456);
		InetSocketAddress socket2 = new InetSocketAddress("www.baidu.com",908);
		System.out.println(socket1.getHostName());
		System.out.println(socket2.getHostName());
		System.out.println(socket1.getHostString());
		System.out.println(socket2.getHostString());
		System.out.println(socket1.getPort());
		System.out.println(socket2.getPort());
		System.out.println(socket1.getAddress());
		System.out.println(socket2.getAddress());
	}
}

  

输出结果:

softbank060125128247.bbtec.net
www.baidu.com
softbank060125128247.bbtec.net
www.baidu.com
456
908
softbank060125128247.bbtec.net/60.125.128.247
www.baidu.com/61.135.169.125

posted @ 2019-12-13 16:05  Scorpicat  阅读(854)  评论(0编辑  收藏  举报