java怎么获取端口 JavaWeb程序如何获取客户端IP?

[更新]
·
·
分类:互联网
3231 阅读

java怎么获取端口

JavaWeb程序如何获取客户端IP?

JavaWeb程序如何获取客户端IP?

我是Allen 一枚JAVA程序员
这个算是比较基础的问题。
JAVAWEB,我们以servlet为例,回答如何获取客户端IP,大部分的Javaweb程序均是基于此,例如springmvc,springboot。
首先我们知道javaweb客户端与服务端的交互一般是使用HTTP/HTTPS协议,而HTTP/HTTPS是基于TCP/IP协议的,既然是基于此协议,服务端是一定有办法获取客户端请求的IP和PORT的。而一般来说,servlet请求一般格式是这样的(未封装),使用简单的Springboot程序演示。
包含一个servlet请求,接下来我们看下这个请求,是否为我们封装了需要的客户端信息,一般来说我们客户端用remote表示。查看HttpServletRequest源码,查看其方法,有如下方法:
从名字上来看,分别是获取客户端地址,获取客户端主机(名称),获取客户端端口,以及获取客户端用户,废话不多说,直接上测试代码:
一般本机测试会出现因为ip回环问题,导致ip都是0.0.0.0,测试不出效果,我们打包放在XX云服务器上,或者在自己的虚拟机上都可以运行测试。
访问默认端口8080,可以看到如下信息,ip,port均是如此:
这样,应该知道如何获取客户端IP了吧?有问题请留言,欢迎关注本头条号,以及相关微信号zhd5986。

7001是什么端口?

7001端口是Freak88, Weblogic默认端口。WebLogic是一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

SOCKET通信,客户端如何指定端口?

和服务器绑定端口一样,只是一般客户端不需要绑定端口。java应该也可以 struct sockaddr_in clientAddr; _family AF_INET; _port htons(6666)
; _addr.S_un.S_addr 0; bind(sockClient, (struct sockaddr*)clientAddr, sizeof(clientAddr));