java socket 实际端口为什么不是自定的端口
2017-11-21 22:10
309 查看
Socket socket = new Socket("127.0.0.1", 8888);
new 一个ServetSocket
端口为8888
然后调用
//调用服务器套接字对象中的accept方法
Socket accept = server.accept();
System.out.println(accept);运行结果
Socket[addr=/127.0.0.1,port=56325,localport=8888]
不是定义的8888端口吗,怎么成了56325这个不认识端口
原来,8888端口只是用来监听的,监听客户端的请求,当收到请求之后,会建立一个新的线程来和客户端通信,而这个端口是系统随机分配的,也就是上面的那个 56325端口
localport是应用服务器的端口,即该应用的实际端口,无论请求经过了多少代理,转发,也是最后的端口,也就是应用的端口
ServerSocket server = new ServerSocket(8888);
new 一个ServetSocket
端口为8888
然后调用
//调用服务器套接字对象中的accept方法
Socket accept = server.accept();
System.out.println(accept);运行结果
Socket[addr=/127.0.0.1,port=56325,localport=8888]
不是定义的8888端口吗,怎么成了56325这个不认识端口
原来,8888端口只是用来监听的,监听客户端的请求,当收到请求之后,会建立一个新的线程来和客户端通信,而这个端口是系统随机分配的,也就是上面的那个 56325端口
localport是应用服务器的端口,即该应用的实际端口,无论请求经过了多少代理,转发,也是最后的端口,也就是应用的端口
port的是URL请求的端口,比如你的请求时127.0.0.1:8080,应用服务器的端口是80,那么Port得到的端口是8080。而LocalPort得到的是80。
相关文章推荐
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- java socket 实际端口为什么不是自定的端口
- 为什么买回500G的硬盘,实际可用空间不是500G
- 为什么应该选择Java而不是C#?
- TCP为什么要三次握手,不是两次四次
- 为什么滚动备份不是实时备份
- 为什么要使用SLF4J而不是Log4J
- 不是人家炫耀,而是我们太挫,你为什么不努力
- 为什么我的Class.forName()抛出的异常不是ClassNotFoundException,而是RuntimeException?
- 为什么要用DTR,而不是Perforce或ClearCase
- 【Calendar】为什么我的DAT_OF_MONTH输出来的不是当前月份的日期,而是5?
- 这个代码为什么输出不是正确结果
- C++中为什么要尽可能使用0而不是NULL
- 为什么社会化媒体不是虚耗时间