求TCP获取真实IP的代码例子
大家好,小弟在这里恳求推出 TCP获取客户端真实IP的C++或Java的代码例子。因为,获得的都是127.0.0.1啊!!!!
然后在本地设置中,打钩建立连接时以UTF8编码向服务器发送访问者IP端口。。
因为没有例子代码,所以不好编写接口,请问有没有例子代码呢
关于TCP连接的获取真实IP的。
在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);
}
}
} 顶顶看看有没有同道中人! 一二三四五六七 马兰开花二十一 nat123jia 发表于 2015-4-21 20:56
在server端第一次接收到数据时读取访客IP即可,可参考下这段代码
public class RemoteUser
非常感激!!
地板有了:lol 关于TCP连接的获取真实IP的。 在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);
}
}
} 这代码加在什么地方 收到,谢谢!去试一试 谢谢,很好用(
页:
[1]
2

