映射外网_nat123论坛客服

 找回密码
 获得新生
查看: 10005|回复: 8

求TCP获取真实IP的代码例子

[复制链接]
发表于 2015-4-21 20:12:57 | 显示全部楼层 |阅读模式
大家好,小弟在这里恳求推出 TCP获取客户端真实IP的C++或Java的代码例子。

因为,获得的都是127.0.0.1啊!!!!

然后在本地设置中,打钩建立连接时以UTF8编码向服务器发送访问者IP端口。。

因为没有例子代码,所以不好编写接口,请问有没有例子代码呢

关于TCP连接的获取真实IP的。




发表于 2015-4-21 20:56:28 | 显示全部楼层
在server端第一次接收到数据时读取访客IP即可,可参考下这段代码

    public class RemoteUser
    {

        public string remoteIp { get; set; }
        public string remoteIpPort = "";
        public string remotePort = "";
        public bool isFirstRecieve = true;

        public void OnRecieveData(object o, bool isSyn, byte[] buffers, int bufferRead)
        {
            bool isIp = false;
            if (isFirstRecieve)
            {
                isFirstRecieve = false;
                string datas = Encoding.UTF8.GetString(buffers);
                this.remoteIpPort = datas;
                if (datas.Contains(":"))
                {
                    string[] ipPort = datas.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                    if (ipPort.Length >= 2)
                    {
                        string ip = ipPort[0];
                        string port = ipPort[1];
                        this.remoteIp = ip;
                        this.remotePort = port;
                        Console.Write("接收到访客IP:" + ip);
                        isIp = true;
                    }
                }
            }
            if(!isIp)
            {
                string datas = Encoding.UTF8.GetString(buffers);
                Console.Write("tcp接收到字符串:" + datas);
            }
        }
    }
 楼主| 发表于 2015-4-21 20:24:16 | 显示全部楼层
顶顶看看有没有同道中人!
 楼主| 发表于 2015-4-21 20:42:13 | 显示全部楼层
一二三四五六七 马兰开花二十一
 楼主| 发表于 2015-4-21 21:04:47 | 显示全部楼层
nat123jia 发表于 2015-4-21 20:56
在server端第一次接收到数据时读取访客IP即可,可参考下这段代码

    public class RemoteUser

非常感激!!
发表于 2015-4-21 21:24:50 | 显示全部楼层
地板有了
发表于 2015-7-16 16:44:29 | 显示全部楼层
关于TCP连接的获取真实IP的。
发表于 2016-1-19 18:38:43 | 显示全部楼层
在server端第一次接收到数据时读取访客IP即可,可参考下这段代码

    public class RemoteUser
    {

        public string remoteIp { get; set; }
        public string remoteIpPort = "";
        public string remotePort = "";
        public bool isFirstRecieve = true;

        public void OnRecieveData(object o, bool isSyn, byte[] buffers, int bufferRead)
        {
            bool isIp = false;
            if (isFirstRecieve)
            {
                isFirstRecieve = false;
                string datas = Encoding.UTF8.GetString(buffers);
                this.remoteIpPort = datas;
                if (datas.Contains(":"))
                {
                    string[] ipPort = datas.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
                    if (ipPort.Length >= 2)
                    {
                        string ip = ipPort[0];
                        string port = ipPort[1];
                        this.remoteIp = ip;
                        this.remotePort = port;
                        Console.Write("接收到访客IP:" + ip);
                        isIp = true;
                    }
                }
            }
            if(!isIp)
            {
                string datas = Encoding.UTF8.GetString(buffers);
                Console.Write("tcp接收到字符串:" + datas);
            }
        }
    }            这代码加在什么地方  
发表于 2017-6-29 15:44:51 | 显示全部楼层
收到,谢谢!去试一试
您需要登录后才可以回帖 登录 | 获得新生

本版积分规则

nat123  

GMT+8, 2018-7-16 03:45 , Processed in 0.276324 second(s), 18 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc. | 网站反馈邮箱:natbbs#163.com(把#换成@)

快速回复 返回顶部 返回列表