superheroxyz 发表于 2015-4-21 20:12:57

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

大家好,小弟在这里恳求推出 TCP获取客户端真实IP的C++或Java的代码例子。

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

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

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

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

nat123jia 发表于 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;
                        string port = ipPort;
                        this.remoteIp = ip;
                        this.remotePort = port;
                        Console.Write("接收到访客IP:" + ip);
                        isIp = true;
                  }
                }
            }
            if(!isIp)
            {
                string datas = Encoding.UTF8.GetString(buffers);
                Console.Write("tcp接收到字符串:" + datas);
            }
      }
    }

superheroxyz 发表于 2015-4-21 20:24:16

顶顶看看有没有同道中人!

superheroxyz 发表于 2015-4-21 20:42:13

一二三四五六七 马兰开花二十一

superheroxyz 发表于 2015-4-21 21:04:47

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

    public class RemoteUser


非常感激!!

miao360 发表于 2015-4-21 21:24:50

地板有了:lol

1171730771 发表于 2015-7-16 16:44:29

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

gyhdw 发表于 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;
                        string port = ipPort;
                        this.remoteIp = ip;
                        this.remotePort = port;
                        Console.Write("接收到访客IP:" + ip);
                        isIp = true;
                  }
                }
            }
            if(!isIp)
            {
                string datas = Encoding.UTF8.GetString(buffers);
                Console.Write("tcp接收到字符串:" + datas);
            }
      }
    }            这代码加在什么地方

huihua73 发表于 2017-6-29 15:44:51

收到,谢谢!去试一试

cmdtsk 发表于 2021-4-10 13:01:34

谢谢,很好用(
页: [1] 2
查看完整版本: 求TCP获取真实IP的代码例子