【问题标题】:Why won't my server and client I coded in Java work?为什么我用 Java 编写的服务器和客户端不能工作?
【发布时间】:2009-12-17 08:38:52
【问题描述】:

当我运行客户端时,我的服务器不断收到此错误:

Exception in thread "main" java.io.EOFException
    at java.io.DataInputStream.readInt(Unknown Source)
    at java.io.ObjectInputStream$BlockDataInputStream.readInt(Unknown Source)
    at java.io.ObjectInputStream.readInt(Unknown Source)
    at MyServer.main(MyServer.java:10)

这是服务器代码:

import java.net.*;
import java.io.*;

public class MyServer{
    public static void main(String[] args) throws IOException {

        ServerSocket serverSocket = new ServerSocket(40);
        Socket clientSocket = serverSocket.accept();
        ObjectInputStream in = new ObjectInputStream(clientSocket.getInputStream());
        System.out.println(in.readInt());
        serverSocket.close();
        System.exit(0);
    }
}

这是客户端代码:

import java.io.*;
import java.net.*;

public class MyClient {
    public static void main(String[] args) throws IOException {

        Socket socket = new Socket("localhost", 40);
        ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());     
        out.writeInt(5);
        socket.close();
        System.exit(0);
    }
}

【问题讨论】:

    标签: java client client-server


    【解决方案1】:

    尝试添加

    out.flush();
    

    就在之前

    socket.close();
    

    【讨论】:

      【解决方案2】:

      在关闭Socket 之前,您应该先flush 您的ObjectOutputStream

      【讨论】:

        猜你喜欢
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多