devxlogo

Use ServerSocket to see who’s Calling your Server

You can use java.net.ServerSocket class to identify a remote machine that is accessing your server. A server socket waits for requests over a network. It then can perform operations based on the request, and can return a result to the machine initiating the request. Every socket connection accepted by your server will have information about the caller of your server. This information is encapsulated in an instance of java.net.InetAddress class.

The following demonstrates how to use ServerSocket to identify a remote machine calling your server:

 Socket aSocket = aServerSocket.accept();/*	aServerSocket is an instance of java.net.ServerSocket that you've	set up to wait for remote requests*/InetAddress inetAdd = aSocket.getInetAddress();String remoteIP = inetAdd.getHostAddress();String remoteHostname = inetAdd.getHostName();// you can also identify the port that channeled the request toaServerSocketString port = aSocket.getPort();System.out.println("Machine at IP: " + remoteIP + ", with hostname: " +remoteHostname + " called at port: + " port");

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  How Engineering Leaders Spot Weak Proposals

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.