服务器 - 客户端文件传输空指针异常

时间:2013-07-25 10:23:00

标签: java sockets nullpointerexception file-transfer

我正在开发一个服务器到java上的客户端文件传输程序,并且无法弄清楚如何修复以下代码,因为我对socket编程知之甚少。代码是客户端的代码:

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为null),但我不知道我可以在connectSocket上分配什么(如果它在服务器端,连接接受套接字可以'在建立连接后,我被指派开始写作。)

1 个答案:

答案 0 :(得分:0)

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