Using system;
Using system. Collections. Generic;
Using system. text;
Using system. Net; // reference added for ipendpoint
Using system. net. Sockets;
Namespace getclntip
{
Class Program
{
Static void main (string [] ARGs)
{
Tcplistener = new tcplistener (9000); // The listening port number, which can be modified as needed
Tcplistener. Start ();
// Loop for listen
While (true)
{
Socket sock = tcplistener. acceptsocket ();
// Current server time
Datetime conntime = datetime. now;
Console. writeline ("the time is:" + conntime. tostring ());
System. net. IPaddress ipadd;
Int port;
// Obtain the IP address and port number of the current user.
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 ();
}
}
}
[Appendix] obtain the local IP Address:
// Obtain the IP address of the Local Area Network
IPaddress [] Addresslist = DNS. gethostbyname (DNS. gethostname (). Addresslist;
If (Addresslist. Length <1)
{
Retern "";
}
Retern Addresslist [0]. tostring (); // note that the array parameter here is 0
// Obtain the IP address dynamically allocated for dialing
Ipadress [] Addresslist = DNS. gethostbyname (DNS. gethostname (). Addresslist;
If (Addresslist. Length <2)
{
Return "";
}
Return Addresslist [1]. tostring (); // note that the array parameter here is 1