服务端 为何获取不到客户端的ip 只能获取到服务端所在的ip 求获取客户端ip

服务端代码

ServerSocket server = new ServerSocket(12345);
boolean b = true;
Socket client = null;
while (b) {
client = server.accept();
System.out.println("客户端" +client.getInetAddress().getHostAddress()+ "连接成功");
Tools.list.add(client);
new ServerThreand(client).start();
}

    客户端代码

    Socket client = (Socket)session.getAttribute("client");
        if (null == client) {
            client = new Socket("192.168.1.28", 0422);
            session.setAttribute("client", client);
        }
        PrintStream out = new PrintStream(client.getOutputStream());
        out.println(client.getInetAddress()+"发送:"+message);
0

1个回答

获取客户端ip不是这个方法,是getRemoteAddress

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
服务器获取客户端IP及客户端IP变化
1.服务端获取客户端请求的IP等信息request = javax.servlet.http.HttpServletRequest request.getRemoteAddr() 获取客户端请求IP地址 request.getRemotePort() 获取客户端请求端口 request.getRemoteHost() 获取客户端请求的合法名称 request.getRemoteUs
socket编程之获取客户端和服务端ip
1. getsockname和getpeername函数 getsockname函数用于获取与某个套接字关联的本地协议地址  getpeername函数用于获取与某个套接字关联的外地协议地址 定义如下: #include<sys/socket.h> int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t ...
服务端获取客户端的真实ip
/**      * 获取客户端ip      */     public static String getIpAddr(HttpServletRequest request) {           String ipAddress = request.getHeader("x-forwarded-for");         if(ipAddress == null || ipAd
Remoting 获取客户端IP地址
网络文章一大抄真是不假,为了解决在Remoting中获取客户端IP的问题,Google,Baidu了许多文章, 都一个样,真是气死。不过好歹调试通了,把代码贡献出来: http://wenku.baidu.com/view/e8ae2cc189eb172ded63b78e.html 采用Sink方式,至于这个Sink到底是什么原理,还没搞明白,我想大概是和Filter一类的管道类似吧,不
服务器获取真实客户端 IP [ X-Forwarded-For ]
X-Forwarded-For 是一个 HTTP 扩展头部,主要是为了让 Web 服务器获取访问用户的真实 IP 地址(其实这个真实未必是真实的,后面会说到)。那为什么 Web 服务器只有通过 X-Forwarded-For 头才能获取真实的 IP?这里用 PHP 语言来说明,不明白原理的开发者为了获取客户 IP,会使用 $_SERVER['REMOTE_ADDR'] 变量,这个服务器变量表示和 ...
Java获取客户端所在的IP地址和服务器地址
public static void main(String[] args) { 2   try { 3 InetAddress address = InetAddress.getLocalHost();//获取的是本地的IP地址 //PC-20140317PXKX/192.168.0.121 4 String hostAddres
获取客户端IP地址定位城市信息
获取客户端IP地址定位城市信息     1、首先获取客户端的IP地址   function getIPaddress(){ $IPaddress=''; if (isset($_SERVER)){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
服务器如何获取客户端用户的(城市)地址[获得真实IP再获得城市]
在web开发中,经常有需求,需要知道客户用户现在所在位置(城市),一般原理是这样,第一:先通过request对象获得远端用户的ip地址,第二:再利用第三方免费的(接口)服务,通过ip查询出用户的所在城市, 我擅长jsp,下面我们就已jsp为例:        在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了
webservice 获得客户端ip
        /**     * 获得客户端IP     * @return     */ public String getClientIP() {        org.apache.cxf.message.Message message = PhaseInterceptorChain.getCurrentMessage();        HttpServletRequest httpre...
客户端TCP时间获取以及实现服务端获取客户端IP地址
UNIX网络编程,客户端TCP时间获取,服务端获取得到客户端的IP地址以及相应的端口号。
axis2 下的WebService 获取客户端IP代码
package services;/** * Title: *  * @author yuanzw 创建时间:2010-3-1 下午03:07:14 Description: * @version */// 注意:是客户端的ip,不是获取本机的ipimport javax.servlet.http.HttpServletRequest;import org.apache.axis2.c
WebSocket 获取客户端的IP
今天用到websocket,希望服务器端在连接建立时获取到客户端的IP,看了源码没有找到提供的api,后来一顿百度,在stackoverflow 找到了解决方案,经过测试可以使用,总结了一下, 下边是代码: import java.lang.reflect.Field; import java.net.InetSocketAddress; import javax.websocket.Remo...
Java获取客户端ip和端口
“青枫江上秋帆远,白帝城边古木疏” 如果你的方法参数里面直接有request,像下面这样: @RequestMapping("/test.json") @ResponseBody public Map<String,Object> getIpAndLoginname(HttpServletRequest request, HttpServletRespo...
Java获取客户端及局域网ip和端口地址
在java项目Controller层加入下面代码: public Map<String,Object>selectAccessory(HttpServletRequest request){ //public Map<String,Object>selectAccessory(HttpServletRequest request)根据自己需要改写 //下列代码可以直接...
thrift服务端获取客户端ip地址。
class TrackingProcessor implements TProcessor { TrackingProcessor (TProcessor processor) {this.processor=processor;} public boolean process(TProtocol in, TProtocol out) throws TException {
java服务器端获取客户端IP地址
在开发工作中,我们常常需要获取客户端的IP。一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。 现在图示代理上网和IP的关系:  第一种情况
Java获取客户端IP(同样适用有代理服务器的情况)
在开发工作中,我们常常需要获取客户端的IP。一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 原因:由于在客户端和服务之间增加了中间代理,因此服务器无法直接拿到客户端的IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。 现在图示代理上网和IP的关系:   第一种
获取客户端的IP地址的方法
获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是 有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。如果使用 了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110, 而并不是客户端的真实IP. 经过代理以后,由于
linux 使用c在tcp socket服务器端获取客户端ip
  #include <sys/socket.h> #include <arpa/inet.h>   ......... struct sockaddr_in sa; int len; ......... len = sizeof(sa); if(!getpeername(sockconn, (struct sockaddr *)&sa, &len)...
Java获取访问服务端的客户端IP和MAC地址
Java获取访问服务端的客户端IP和MAC地址
获取客服端的IP地址-getpeername()
int getpeername(int socket, struct sockaddr *name, socklen_t *namelen); 头文件#include 描述 获取socket的对方地址   实例:           struct sockaddr_in        servaddr,sa;            int                      
C# 获取客户端和服务器ip
/// <summary>    /// 获取web客户端ip    /// </summary>    /// <returns></returns>    public static string GetWebClientIp()    {         string userIP = "未获取用户IP";         try       ...
socket编程之---------获取客户端主机名和IP地址
TCP 服务器端:package com.wodwl.example;import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;public class GetSocketInfo { public static void main
thrift 服务器如何获取客户端地址
THRIFT服务器缺省无法获取客户端连接的地址。经过研究,发现通过重载transport factory+Thread local,能够简单解决。不需要修改thrift生成的代码。 >>>>> arg.protocolFactory(protocolFactory); arg.outputTransportFactory(new TFramedTransport.Factory(...
Netty实战四:netty获取客户端IP
import io.netty.channel.ChannelHandlerContext; //ChannelHandlerContext chc InetSocketAddress ipSocket = (InetSocketAddress)chc.channel().remoteAddress(); String cl...
JAVA获取访问用户的客户端IP(适用于公网与局域网)
JAVA获取访问用户的客户端IP(适用于公网与局域网) /** * 获取访问用户的客户端IP(适用于公网与局域网). */ public static final String getIpAddr(final HttpServletRequest request) throws Exception { if (request == null) { throw (new E
C#服务器端获取客户端IP的方法
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// IPAddress 的摘要说明 /// </summary> public static class IPAddress {     public static str...
在socket编程中,如何获取连接另一端(客户端)的ip地址,使用accept或者getpeername
//这段代码没有实际的功能,只是为了获取连接另一端的ip地址 #include #include #include #pragma comment(lib, "wsock32") using namespace std; void main() { int ret = 0; WSADATA wsadata; WORD version = MAKEWORD(2
php获取客户端ip和服务器端ip
php获取服务端与客户端ip
【IP地址获取】java获取客户端ip地址
如何获取客户端ip和url访问中服务器端ip(如果是ip,不是域名)呢? String requestUrlIP = request.getServerName(); tring userIpAddr = request.getRemoteAddr(); System.out.println("***访问的Url中的服务器IP:"+requestUrlIP); System.out.print...
获取客户端内网ip,亲测有效
var info = allinfo(); document.write(info); var locator = new ActiveXObject("WbemScripting.SWbemLocator"); var service = locator.ConnectServer("."); info = pcInfo(); document.write(info);
获取客户端和服务端的真实IP地址
/**      * 该方法获取请求客户端的真实IP地址 如果Web服务器部署在Proxy服务器之后,需要作特殊处理:      *      * @param request      *            HTTP request      * @return client request source IP      */     public static String
php获取客户端IP和php获取服务器端IP
1.php获取客户端IP 在PHP获取客户端IP时,常使用 $_SERVER["REMOTE_ADDR"] 。但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用$_SERVER["HTTP_X_FORWARDED_FOR"]来读取。 但只有客户端使用“透明代理”的情况下,$_S
C#获取服务端和客户端的ip和端口号
一、什么是IP,端口号(what?) 互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网上上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为IPv4与IPv6两大类,但是也有其他不常用的小分类。 通过“IP地址+端口号”来区分不同的服务 使...
Boost - Socket连接(获取本地IP和远程IP)
[color=green][i][b] Author:QQ174554431 [/b][/i][/color] [code="c++"] #include "stdafx.h" #include #include #include int _tmain(int argc, _TCHAR* argv[]) { try { boost::asio::io_se...
C# IP/TCP 客户端与服务端
1)         流程 2)         服务端程序特点 Ø 一般启动后就一直处于运行状态,以等待客户端进程的请求 Ø 使用的端口往往是熟知端口,便于客户机进程连接请求 Ø 一般拥有较多的系统资源,以便及时响应各个客户机进程的请求 Ø 可以并行处理多个客户机进程的请求,但数目是有一定的限制 Ø 在通信时一般处于被动的一方,不需要知道客户机的IP地
HttpServletRequest的获取客户端真实IP
摘自:http://chenyoulu.diandian.com/post/2012-11-14/40042540378   request方法客户端IP: request.getRemoteAddr() 输出:192.168.0.105   客户端主机名:request.getRemoteHost()输出:pc-abc   request.getHeader(“Host”) 输出:192.
Java获取客户端/访问者真实IP地址的两种方法
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到
干货:Java正确获取客户端真实IP方法整理
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。 如果使用了反向代理软件,将http://192.168.1.110:2046/的URL反向代理为http://www.abc.com/的URL时,用request.getRemote...
php获取客户端IP和服务器端IP
1.php获取客户端IP 在PHP获取客户端IP时,常使用 $_SERVER["REMOTE_ADDR"] 。但如果客户端是使用代理服务器来访问,那取到的是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。要想透过代理服务器取得客户端的真实 IP 地址,就要使用$_SERVER["HTTP_X_FORWARDED_FOR"]来读取。 但只有客户端使用“透明代理”的情况下,$_S
文章热词 设计制作学习 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 python3获取ip教程 python服务端开发教程