// This program shows how to use the IPAddress class to obtain a server // IP addressess and related information.using System; using System.Net; using System.Net.Sockets; using System.Text.RegularExpressions;namespace Mssc.Services.ConnectionManagement { class TestIPAddress { /** * The IPAddresses method obtains the selected server IP address information. * It then displays the type of address family supported by the server and its * IP address in standard and byte format. **/ private static void IPAddresses(string server) { try { System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
// Get server related information. IPHostEntry heserver = Dns.Resolve(server); // Loop on the AddressList foreach (IPAddress curAdd in heserver.AddressList) { // Display the type of address family supported by the server. If the // server is IPv6-enabled this value is: InternNetworkV6. If the server // is also IPv4-enabled there will be an additional value of InterNetwork. Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());
// Display the ScopeId property in case of IPV6 addresses. if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString()) Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString()); // Display the server IP address in the standard format. In // IPv4 the format will be dotted-quad notation, in IPv6 it will be // in in colon-hexadecimal notation. Console.WriteLine("Address: " + curAdd.ToString());
// Display the server IP address in byte format. Console.Write("AddressBytes: "); Byte[] bytes = curAdd.GetAddressBytes(); for (int i = 0; i < bytes.Length; i++) { Console.Write(bytes[i]); } Console.WriteLine("\r\n"); } } catch (Exception e) { Console.WriteLine("[DoResolve] Exception: " + e.ToString()); } }// This IPAddressAdditionalInfo displays additional server address information. private static void IPAddressAdditionalInfo() { try { // Display the flags that show if the server supports IPv4 or IPv6 // address schemas. Console.WriteLine("\r\nSupportsIPv4: " + Socket.SupportsIPv4); Console.WriteLine("SupportsIPv6: " + Socket.SupportsIPv6); if (Socket.SupportsIPv6) { // Display the server Any address. This IP address indicates that the server // should listen for client activity on all network interfaces. Console.WriteLine("\r\nIPv6Any: " + IPAddress.IPv6Any.ToString()); // Display the server loopback address. Console.WriteLine("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());
// Used during autoconfiguration first phase. Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());
然后 你的显示ip的页面上显示出来
表:
ip,date然后读出来,显示在页面,简单的直接绑定到datagrid
HttpBrowserCapabilities bc = Request.Browser;
Response.Write("<p>浏览器属性:</p>");
Response.Write("浏览器型号 = " + bc.Type + "<br/>");
Response.Write("浏览器名称 = " + bc.Browser + "<br/>");
Response.Write("浏览器版本 = " + bc.Version + "<br/>");
Response.Write("主版本号 = " + bc.MajorVersion + "<br/>");
Response.Write("从版本号 = " + bc.MinorVersion + "<br/>");
Response.Write("操作系统 = " + bc.Platform + "<br/>");
Response.Write("是否试用版 = " + bc.Beta + "<br/>");
Response.Write("Is Crawler = " + bc.Crawler + "<br/>");
Response.Write("Is AOL = " + bc.AOL + "<br/>");
Response.Write("16位机 = " + bc.Win16 + "<br/>");
Response.Write("32位机 = " + bc.Win32 + "<br/>");
Response.Write("支持Frame = " + bc.Frames + "<br/>");
Response.Write("支持Table = " + bc.Tables + "<br/>");
Response.Write("支持Cookies = " + bc.Cookies + "<br/>");
Response.Write("支持VB Script = " + bc.VBScript + "<br/>");
Response.Write("支持 JavaScript = " + bc.JavaScript + "<br/>");
Response.Write("支持 Java Applets = " + bc.JavaApplets + "<br/>");
Response.Write("支持 ActiveX Controls = " + bc.ActiveXControls + "<br/>");
Response.Write("电台CDF = " + bc.CDF + "<br/>");
Response.Write(Request.UserAgent);
Response.Write ("<script language='javascript'>//读屏幕的大小screenWidth=screen.width;screenHeight=screen.height;</script>");
//屏幕分辨率的高:Response.Write (window.screen.height);
//屏幕分辨率的宽:"+ window.screen.width;
//屏幕可用工作区高度:"+ window.screen.availHeight;
//屏幕可用工作区宽度:"+ window.screen.availWidth
// IP addressess and related information.using System;
using System.Net;
using System.Net.Sockets;
using System.Text.RegularExpressions;namespace Mssc.Services.ConnectionManagement
{ class TestIPAddress
{ /**
* The IPAddresses method obtains the selected server IP address information.
* It then displays the type of address family supported by the server and its
* IP address in standard and byte format.
**/
private static void IPAddresses(string server)
{
try
{
System.Text.ASCIIEncoding ASCII = new System.Text.ASCIIEncoding();
// Get server related information.
IPHostEntry heserver = Dns.Resolve(server); // Loop on the AddressList
foreach (IPAddress curAdd in heserver.AddressList)
{
// Display the type of address family supported by the server. If the
// server is IPv6-enabled this value is: InternNetworkV6. If the server
// is also IPv4-enabled there will be an additional value of InterNetwork.
Console.WriteLine("AddressFamily: " + curAdd.AddressFamily.ToString());
// Display the ScopeId property in case of IPV6 addresses.
if(curAdd.AddressFamily.ToString() == ProtocolFamily.InterNetworkV6.ToString())
Console.WriteLine("Scope Id: " + curAdd.ScopeId.ToString());
// Display the server IP address in the standard format. In
// IPv4 the format will be dotted-quad notation, in IPv6 it will be
// in in colon-hexadecimal notation.
Console.WriteLine("Address: " + curAdd.ToString());
// Display the server IP address in byte format.
Console.Write("AddressBytes: "); Byte[] bytes = curAdd.GetAddressBytes();
for (int i = 0; i < bytes.Length; i++)
{
Console.Write(bytes[i]);
} Console.WriteLine("\r\n"); } }
catch (Exception e)
{
Console.WriteLine("[DoResolve] Exception: " + e.ToString());
}
}// This IPAddressAdditionalInfo displays additional server address information.
private static void IPAddressAdditionalInfo()
{
try
{
// Display the flags that show if the server supports IPv4 or IPv6
// address schemas.
Console.WriteLine("\r\nSupportsIPv4: " + Socket.SupportsIPv4);
Console.WriteLine("SupportsIPv6: " + Socket.SupportsIPv6); if (Socket.SupportsIPv6)
{
// Display the server Any address. This IP address indicates that the server
// should listen for client activity on all network interfaces.
Console.WriteLine("\r\nIPv6Any: " + IPAddress.IPv6Any.ToString()); // Display the server loopback address.
Console.WriteLine("IPv6Loopback: " + IPAddress.IPv6Loopback.ToString());
// Used during autoconfiguration first phase.
Console.WriteLine("IPv6None: " + IPAddress.IPv6None.ToString());
Console.WriteLine("IsLoopback(IPv6Loopback): " + IPAddress.IsLoopback(IPAddress.IPv6Loopback));
}
Console.WriteLine("IsLoopback(Loopback): " + IPAddress.IsLoopback(IPAddress.Loopback));
}
catch (Exception e)
{
Console.WriteLine("[IPAddresses] Exception: " + e.ToString());
}
}
然后没有用户登陆后把用户的IP保存到user_ip中Session_End 事件中把用户的IP从user_ip 删除