using System;
using System.Collections.Generic;
using System.Text;
using System.Net;//为了IPEndPoint而添加的引用
using System.Net.Sockets;
namespace GetClntIP
{
class Program
{
static void Main(string[] args)
{
TcpListener tcpListener = new TcpListener(9000);//监听的端口号,可根据需要修改
tcpListener.Start();
//loop for listen
while (true)
{
Socket sock = tcpListener.AcceptSocket();
//服务器当前时间
DateTime connTime = DateTime.Now;
Console.WriteLine("The time is :"+connTime.ToString());
System.Net.IPAddress ipAdd;
int port;
//获得连接当前用户的IP以及端口号
ipAdd = (sock.RemoteEndPoint as IPEndPoint).Address;
port = (sock.RemoteEndPoint as IPEndPoint).Port;
Console.WriteLine("The client IP :"+ipAdd.ToString ());
Console.WriteLine("The client port :" + port.ToString());
}
tcpListener.Stop();
}
}
}
[附]获取本地IP:
//获得本地局域网IP地址
IPAddress [] AddressList=Dns.GetHostByName(Dns.GetHostName()).AddressList;
if(AddressList.Length<1)
{
retern "";
}
retern AddressList[0].ToString();//注意这里数组参数为0
//获得拨号动态分配IP地址
IPAdress [] AddressList=Dns.GetHostByName(Dns.GetHostName()).AddressList;
if(AddressList.Length<2)
{
return "";
}
return AddressList[1].ToString();//注意这里数组参数为1