免费端口映射工具_内网穿透软件_内网映射外网教程交流_nat123论坛客服

 找回密码
 获得新生
查看: 115105|回复: 11

求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 | 显示全部楼层
一二三四五六七 马兰开花二十一

点评

路过ヽ(  ̄д ̄;)ノ  发表于 2018-8-11 07:00
 楼主| 发表于 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 | 显示全部楼层
收到,谢谢!去试一试

点评

路过  发表于 2018-8-1 05:46
发表于 2021-4-10 13:01:34 | 显示全部楼层
谢谢,很好用(
您需要登录后才可以回帖 登录 | 获得新生

本版积分规则

http穿透|80网站穿透|非80网站穿透|内网穿透路由器|内网穿透SVN|内网穿透FTP|内网穿透SSH|内网穿透远程桌面|nat123

GMT+8, 2023-12-4 15:18 , Processed in 0.135297 second(s), 18 queries .

Powered by Discuz! X3.1

© Comsenz Inc. | 反馈:natbbs#163.com(#换成@)

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