Я написал базовый код, в котором отправитель отправляет сообщение получателю, а получатель его печатает. Я наивный программист сокетов. Я просмотрел различные сообщения, но до сих пор не смог решить эту проблему. Вот мой код:
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)
Пожалуйста, помогите мне решить это.