Hi I'm trying to figure out how to keep my server open. Every time I run the program everything connects fine. But as soon as I send the first message it closes the connection.
Here is my client server code.
Code:import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws Exception {
String FromClient; Integer Serveron = 1, number[], sum;
while (Serveron ==1)
{
ServerSocket welcomeSocket = new ServerSocket(56120);
System.out.println ("Server is LISTENING" + '\n');
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
System.out.println ("Server Made Connection" + '\n');
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream())
FromClient = inFromClient.readLine();
System.out.println ("RECEIVED from Client: " + FromClient + '\n');
outToClient.writeBytes(FromClient);
}
}
}
Client Error:Code:public class Client {
public static void main(String[] args) throws Exception {
String Userinput, Calculatedsum; int Clienton = 1;
String hostname=args[0];
while (Clienton ==1)
{
BufferedReader inFromUser = new BufferedReader ( new InputStreamReader(System.in));
Socket clientSocket = new Socket (hostname, 56120);
DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
BufferedReader inFromServer = new BufferedReader (new InputStreamReader(clientSocket.getInputStream()));
System.out.println("Connection accepted " +
clientSocket.getInetAddress() + ":" +
clientSocket.getPort());
System.out.print ("Please Enter a series of numbers to add. Seperate them by spaces" + '\n');
Userinput = inFromUser.readLine();
outToServer.writeBytes (Userinput + '\n');
Calculatedsum = inFromServer.readLine();
System.out.print ("Server's Response: " + Calculatedsum + '\n');
}
}
}
Server Error:Code:Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at Client.main(Client.java:24)
Any ideas on how I can keep it open to send ,receive, modify and send back the data?Code:Exception in thread "main" java.net.BindException: Address already in use: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at Server.main(Server.java:11)
