小编sie*_*ema的帖子

Java 套接字丢失数据:BufferedReader

我在 Java 中遇到以下问题:我正在开发和应用程序使用java.net.Socket. 它看起来像这样:有一个服务器,它有一个线程,它接受并添加新客户端,另一个线程从套接字读取数据并用它做“某事”。旁边是客户。客户端具有数据读取器线程以及单独的线程。我发送的数据很简单:

socket.getOutputStream().write((content+"\n").getBytes());
Run Code Online (Sandbox Code Playgroud)

在客户端并在服务器上读取它,例如:

try {
    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    String received;
    while(true) {
        try {
            reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            received = reader.readLine();
            if(received == null) {
                break;
            }
            System.out.println("SERVER " + received);
            increaseReceivedCounter(1);
        } catch(SocketException e) {
            break;
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    System.out.println("SERVER RECEIVED "+ getReceivedCounter() + " MESSAGES!");
}
Run Code Online (Sandbox Code Playgroud)

现在我只是设置客户端发送一些这样的消息:

try {
    int n = 1000;
    System.out.println("sending "+ …
Run Code Online (Sandbox Code Playgroud)

java sockets tcp bufferedreader java-io

1
推荐指数
1
解决办法
1502
查看次数

标签 统计

bufferedreader ×1

java ×1

java-io ×1

sockets ×1

tcp ×1