使用套接字循环输入流



Java通过socket发送和接收文件(byte[])

提到上面的问题,我只是想问我如何能把这个代码在循环中接收多个图像从客户端????我已经尝试过了,但它并没有停止在(count = is.read(bytes))> 0一旦它第一次读取。请帮助

我不确定我是否完全理解你的问题,但我会尽力帮助你。想要无限长时间保持客户端/服务器连接吗?因此,尝试将服务器客户机和客户机本身都作为线程,然后将线程置于循环中。试试这个样品。

connection = new Socket("IP",PORT);
        input = new DataInputStream(connection.getInputStream());
        output = new DataOutputStream(connection.getOutputStream());
        new Thread(new Runnable() {
        public void run(){
            while(true){
            try
            {
                System.out.println(">>" + input.readUTF());
            }
            catch(Exception e){
                try
                {
                    input.close();
                    output.close();
                    connection.close();
                }
                catch(Exception e2)
                {}
             }
            }
        }
        }).start(); 
        Scanner scan = new Scanner(System.in);
        while(true)
        {
            String data = scan.nextLine();
            output.writeUTF(data);
        }

这是客户端的代码。你还必须有客户端服务线程接受所有的数据并发回信息!希望我对你有所帮助,因为我不确定我是否正确理解了这个问题。好运!

最新更新