Java网络编程基础002—端口

    既然IP用来标识计算机,那么什么来标识计算机上的网络应用程序? 答案是端口。端口是一个虚拟的概念,是16位二进制正整数,故取值为0-65535(十进制)。端口一共可以在一台计算机上存在12w+(2^17)个,因为端口属于传输层传输层有两个重要协议(TCP和UDP),所以两边各65536个(2^16)。一般来说端口够用,因为计算机上用不到12w多个网络应用。

    端口0-1023为知名端口,也叫公认端口,比如20,21(ftp), 22(SSH), 80端口(http), 443(https) ,自己开发的应用程序一般不用

    端口1023-49151为注册端口, 比如3306(MySQL),8080(Tomcat)

    端口49152-65535为动态端口或者私有端口

     Windows查看所有使用的端口: cmd下

netstat -ano

     Linux下查看所有使用udp和tcp的端口: shell下

netstat -ntulp

     解决端口冲突(win10下mysql为例)

1. 通过第一条命令找到对应进程号

2.第二条命令通过进程号找到对应进程名(可选)

3.任务管理器详细消息里结束任务

更多的参数请查询相关手册。

JavaDemo:

import java.net.InetSocketAddress;
import java.net.UnknownHostException;

public class Main {
	public static void main(String[] args) throws UnknownHostException {
		// Socket: 插座, 插口, 套接字
		 InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 3306);
		 // local host定义查看hosts文件 C盘Windows/System32/drivers/etc 显示所有文件
		 InetSocketAddress socketAddress2 = new InetSocketAddress("localhost", 3306);
		 System.out.println(socketAddress.getHostName());
		 System.out.println(socketAddress2.getAddress());
		 // 端口
		 System.out.println(socketAddress.getPort());
	}
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值