内网游戏服务器如何获取客户端ip
A. net:浏览器端和服务器在同一内网中,如何分别获取客户的内网地址和外网地址
既然在同一内网,那么也就是说是使用同一主机上网,所以本机外网地址就是该机外网地址,
获取内网地址:Request.UserHostAddress
private void btnChenk_Click(object sender, System.EventArgs e)
{
System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
if ( addressList.Length>1)
{
nativeIP.Text = addressList[0].ToString();
serverIP.Text = addressList[1].ToString();
}
else
{
nativeIP.Text = addressList[0].ToString();
serverIP.Text = "Break the line...";
}
}
在使用前,一定要注意在头部加上引用:
using System.Net;
using System.Net.Socket;
通常addressList[]所得到的列表就是当前的IP地址;
如果当前是拨号上网的话addressList[0].ToString()就是
本地IP地址;addressList[1].ToString() 就是上网地址。
如果当前是使用[EnterNet 300]拨号上网的话addressList[1].ToString()
就是本地IP地址;addressList[0].ToString() 就是上网地址。
如果程序只能够检测到只有一个IP地址的话,证明当前
电脑没有在线!
如果仅仅是想知道本机的IP地址,就直接用
string IP = Request.UserHostAddress;
获取客户端 IP地址
string userip = Request.ServerVariables["REMOTE_ADDR"];
B. 局域网中服务器和客户端的IP分别如何设置
这个就无所谓了,如果内网只是简单的连接,不做任何服务的话,那么所有电脑的IP只要在一个网段中就可以,比如192.168.0.1-254 子网掩码255.255.255.0(这个主要看你怎么划分了)网关(如果不做的话)DNS都不用添