I am student currently working on a networking project on java for my college. My college's network uses static IP addressing and all computers connected to network use 10.x.x.x or 172.x.x.x family. If I set up a server using one of the following address(say 10.10.2.8) and if there was a wifi router connected another ip address(say 10.10.2.9), how do I initiate a communication from the server to a user connected to the wifi router(the router uses dhcp for ip allocation in the wifi network) (10.10.2.8 to 10.10.2.9). I know that its easy to start communication from the user to the server by just typing in the ip address(10.10.2.8) but I want to know if the reverse is possible. I am currently using java socket programming for the networking.
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "NE is a site for to ask and provide answers about professionally managed networks in a business environment. Your question falls outside the areas our community decided are on topic. Please visit the help center for more details. If you disagree with this closure, please ask on Network Engineering Meta." – Community, Zac67, Teun Vink
Since you are using Client-Server architecture, requests always come from the client. The server has no way of knowing to which IP address to connect to and therefor has no way to initiate the connection.
Also generally clients have no way to process such requests, since they are not listening on any port by default (meaning they do not have any process running, that checks for example port 80 for HTTP requests).
For more on client-server architecture see https://en.wikipedia.org/wiki/Client%E2%80%93server_model
In other network architectures like peer-to-peer (https://en.wikipedia.org/wiki/Peer-to-peer) each node is serving as both client for connecting to other nodes and server for other nodes connecting to it. Hence each node is running some kind of 'server' process.