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
 
                    
                     
                    
                 
                    
                 
         
