I wrote a basic code in which sender is sending a message to the receiver and the receiver is printing it. I am a naive socket programmer. I looked into various post but still not able to resolve this issue. Here is my code:
TCPServer.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Serializable; import java.net.*; import java.io.*; import java.util.*; import org.omg.CORBA.Any; public class TCPServer { public static void main(String args[]) throws IOException{ TCPServer tcpServer=new TCPServer(); ServerSocket serverSocket=new ServerSocket(8777); Socket sock=serverSocket.accept(); BufferedReader inputSenderBuffer=new BufferedReader(new InputStreamReader(sock.getInputStream())); DataOutputStream outputToSenderBuffer=new DataOutputStream(sock.getOutputStream()); outputToSenderBuffer.flush(); //outputToSenderBuffer.close(); char[] inputArray=new char[2000]; int i,lengthMessage; int a=1; System.out.println("We are here"); while(a<1000) { System.out.println("Inside this while loop"); String inputSender=inputSenderBuffer.readLine(); lengthMessage=inputSender.length(); for(i=0;i<lengthMessage;i++) { System.out.println("putting the received message into buffer"); inputArray[i]=inputSender.charAt(i); System.out.println(inputArray[i]); } } } } TCPClient.java import java.io.DataOutputStream; import java.io.IOException; import java.net.*; public class TCPClient { public static void main(String args[]) { try { Socket sock=new Socket("localhost",8777); DataOutputStream outputToReceiverBuffer=new DataOutputStream(sock.getOutputStream()); System.out.println("Sending test message"); int i=1000; while(i<1000) { outputToReceiverBuffer.writeBytes("1AAAAAAAAAA"); outputToReceiverBuffer.flush(); //outputToReceiverBuffer.close(); } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } Exception at the TCPServer.java console 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 TCPServer.main(TCPServer.java:31)
Kindly help me resolving this.