когда я запускаю код для приведенного ниже кода в первый раз, он работает нормально
затем я пытаюсь добавить больше кода (например, создать буферизованный входной поток на стороне сервера и попытаться прочитать ответ от клиента) и запустите его еще раз, это выдаст мне это исключение на стороне клиента
Exception in thread "main" java.net.SocketException: Connection reset
at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:323)
at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
at java.base/java.net.Socket$SocketInputStream.read(Socket.java:976)
at java.base/sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:297)
at java.base/sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)
at java.base/sun.nio.cs.StreamDecoder.read(StreamDecoder.java:188)
at java.base/java.io.InputStreamReader.read(InputStreamReader.java:178)
at java.base/java.io.BufferedReader.fill(BufferedReader.java:161)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:329)
at java.base/java.io.BufferedReader.readLine(BufferedReader.java:396)
at client.main(client.java:20)
когда я удаляю добавленный код и запускаю его только с программой чтения на стороне клиента, он все равно не работает
он не будет работать, пока я не удалю входной поток со стороны клиента
это серверная часть
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
public class server
{
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(8080);
Socket client = server.accept();
PrintWriter out= new PrintWriter(client.getOutputStream(),true);
out.write("dfdawdadwawdw");
}
}
а это клиентская часть
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.StringReader;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;
import jdk.internal.jshell.tool.resources.l10n;
public class client {
public static void main(String[] args) throws Exception {
Socket java = new Socket("localhost",8080);
InputStreamReader in = new InputStreamReader(java.getInputStream());
BufferedReader bufferedreader = new BufferedReader(in);
System.out.println(bufferedreader.readLine());
}
}
Подробнее здесь: https://stackoverflow.com/questions/684 ... ry-to-read
Я получаю исключение сокета (сброс соединения) на стороне клиента всякий раз, когда пытаюсь прочитать данные с сервера. ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение