Note that there are some explanatory texts on larger screens.

plurals
  1. POJava server , client program
    primarykey
    data
    text
    <p>The code below should allow the user to enter a URL and have it return the ip address of that website but it's not working.</p> <p>The application is a console application. I had it working at one time but I don't know why it won't work now.</p> <p>Here is the error i am getting when the users enters a website to get the ip address from</p> <pre><code>IOException: java.net.SocketException: Connection reset </code></pre> <p>HERE IS MY CLIENT CODE</p> <pre><code>import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) { String hostname = "localhost"; int port = 6052; if (args.length &gt; 0) { hostname = args[0]; } Socket clientSocket = null; PrintWriter os = null; BufferedReader is = null; try { clientSocket = new Socket(hostname, port); os = new PrintWriter(clientSocket.getOutputStream(), true); is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: " + hostname); } catch (IOException e) { System.err.println("Couldn't get I/O for the connection to: " + hostname); } if (clientSocket == null || os == null || is == null) { System.err.println("Something is really wrong. "); return; } try { if (args.length != 2) { System.out.print("Enter a www web address (must have www!) "); BufferedReader br = new BufferedReader(new InputSreamReader(Sy.in)) String keyboardInput = br.readLine(); os.println(keyboardInput); } else { os.println(args[1]); } String responseLine = is.readLine(); System.out.println("The IP address of " + args[1] + "is" + responseLine); } catch (UnknownHostException e) { System.err.println("Trying to connect to host: " + e); } catch (IOException e) { System.err.println("IOException: " + e); } } } </code></pre> <p>HERE IS MY SERVER CODE</p> <pre><code>import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String args[]) { int port = 6052; Server server = new Server(port); server.startServer(); } ServerSocket echoServer = null; Socket clientSocket = null; int numConnections = 0; int port; public Server(int port) { this.port = port; } public void stopServer() { System.out.println("Server working hold on a min."); System.exit(0); } public void startServer() { try { echoServer = new ServerSocket(port); } catch (IOException e) { e.printStackTrace(); } System.out.println("Server is now started and is waiting for Clients."); while (true) { try { clientSocket = echoServer.accept(); numConnections++; new Thread(new ServerConnection(clientSocket, numConnections, this)).start(); } catch (IOException e) { System.out.println(e); } } } } class ServerConnection implements Runnable { private static BufferedReader is; private static PrintStream os; private static Socket clientSocket; private static int id; private static Server server; public ServerConnection(Socket clientSocket, int id, Server server) { this.clientSocket = clientSocket; this.id = id; this.server = server; System.out.println( "Connection " + id + " established with: " + clientSocket ); try { is = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); os = new PrintStream(clientSocket.getOutputStream()); } catch (IOException e) { System.out.println(e); } } public void run() { String line; try { boolean serverStop = false; line = is.readLine(); System.out.println( "Received " + line + " from Connection " + id + "." ); InetAddress hostAddress = InetAddress.getByName(line); String IPaddress = hostAddress.getHostAddress(); os.println(IPaddress); is.close(); os.close(); clientSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload