0

我正在Java上开发服务器到客户端的文件传输程序,但由于我对套接字编程知之甚少,因此无法弄清楚如何修复以下代码。该代码是客户端的代码:

String receiverIP = null;
    int serverPort = 0;
    hostIP = args[0];
    serverPort = Integer.parseInt(args[1]);
    String fileToSend = args[2]; 
    byte[] aByte = new byte[1];
    int bytesR;
    Socket clientSocket = null;
    Socket connectSocket = null;
    BufferedOutputStream ToClient = null;
    InputStream is = null;

    try {
        ToClient = new BufferedOutputStream(connectSocket.getOutputStream());
        clientSocket = new Socket(hostIP, serverPort);
        is = clientSocket.getInputStream();
    } catch (IOException ex) {
        System.out.println(ex);
    }

至于我的问题,我在第 14 行得到一个空指针异常(毫无疑问,因为当前 connectSocket 为空),但我不知道我可以在 connectSocket 上分配什么(如果它在服务器端,则可以分配连接接受套接字建立连接后开始写入。)

4

1 回答 1

0

与您似乎相信的相反,您不需要两个单独的套接字来读取和写入服务器。一个插座就足够了。您可以调用该getInputStream方法来获取要从服务器读取的流,并getOutputStream获取要写入服务器的流。您不需要两个插座,只需一个。

于 2013-07-25T10:27:46.877 回答