Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ustream中的Java套接字被卡住_Java_Sockets - Fatal编程技术网

Ustream中的Java套接字被卡住

Ustream中的Java套接字被卡住,java,sockets,Java,Sockets,我在从socket inputStream读取时遇到问题。但在类中只有一个方法。这是我的密码: 服务器: 客户机和职员运行相同的方法: @Override public void run() { try { inS = new BufferedReader(iss); outS = new PrintWriter(socket.getOutputStream(), true); oos = new ObjectOutputStrea

我在从socket inputStream读取时遇到问题。但在类中只有一个方法。这是我的密码: 服务器:

客户机和职员运行相同的方法:

    @Override
public void run() {
    try {
        inS = new BufferedReader(iss);
        outS = new PrintWriter(socket.getOutputStream(), true);
        oos = new ObjectOutputStream(socket.getOutputStream());
        iss = new InputStreamReader(socket.getInputStream());
        ois = new ObjectInputStream(socket.getInputStream());
    } catch (IOException ex) {
    }
    msg();
    try {
        inS.close();
        iss.close();
        outS.close();
        ois.close();
        oos.close();
        socket.close();
    } catch (IOException ex) {
    }
}

决心。我只为文件传输创建了第二个套接字。

您可以添加建立连接的代码吗?我可以,但会稍长一些。但在这种情况下不是一个错误。
private void copyFile(String destination) {
    FileOutputStream fos = null;
    long numOfChunks, num = 0;
    SBuffer sBuffer;
    byte[] buffer = new byte[4096];
    InputStream is;
    try {
        fos = new FileOutputStream(new File(destination));
        BufferedOutputStream bos = new BufferedOutputStream(fos);
        is = socket.getInputStream();
        numOfChunks = Long.parseLong(inS.readLine());
        System.out.println(num + "/" + numOfChunks);
        int bytesRead = is.read(buffer, 0, buffer.length);
        bos.write(buffer, 0, bytesRead);
        num++;
    } catch (FileNotFoundException ex) {
        System.out.println("<ERROR> Client, copyFile: File not found.");
        System.out.println(ex);
    } catch (IOException ex) {
        System.out.println("<ERROR> Client, copyFile: Could not write or read file.");
        System.out.println(ex);
    } finally {
        try {
            fos.close();
        } catch (IOException ex) {
            Logger.getLogger(Client.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    outS.println("end");
    outS.flush();
}
public void run() {
    try {
        ssocket = new ServerSocket(2332);
        Socket socket = ssocket.accept();
        clerk = new Clerk(socket, mainPath);
        (new Thread(clerk)).start();
    } catch (IOException ex) {
    }
    try {
        ssocket.close();
    } catch (IOException ex) {
    }
}


public Clerk(Socket socket, String path) {
    this.socket = socket;
    mainTree = new FileTree(path);
}

public Client(String address, String[] dirs) {
    try {
        socket = new Socket(address, 2332);
    } catch (UnknownHostException ex) {
    } catch (IOException ex) {
    }
}
    @Override
public void run() {
    try {
        inS = new BufferedReader(iss);
        outS = new PrintWriter(socket.getOutputStream(), true);
        oos = new ObjectOutputStream(socket.getOutputStream());
        iss = new InputStreamReader(socket.getInputStream());
        ois = new ObjectInputStream(socket.getInputStream());
    } catch (IOException ex) {
    }
    msg();
    try {
        inS.close();
        iss.close();
        outS.close();
        ois.close();
        oos.close();
        socket.close();
    } catch (IOException ex) {
    }
}