サーバ・コード

    パブリック 静的 ボイド主は、(文字列[]引数){
         //はServerSocketオブジェクトを作成し、ポートモニタ要求8088て送信を開くから
         // IP一意ネットワーク上のコンピュータを識別する、ポート番号は、コンピュータにプログラムを一意的に識別され 
        たInputStreamであります= ヌル; 
        OutputStreamのOS = ヌル; 
        FileInputStreamのFIS = ヌル;
         試み{ 
            ServerSocketをSS = 新しい新しい ServerSocketを(8888 ); 
            System.out.printlnは( "サーバーの開始" );
             // リクエストのサイクルサーバーのリッスンを聞かせて(サーバが動作して停止することはできません)
            しばらく真の){
                // 接收请求过来的数据
                Socket s = ss.accept();
                System.out.println("收到请求");
                // 获取输入流
                is = s.getInputStream();
                // 构建一个byte数组,用来装取输入流里面读取出来的数据
                byte[] data = new byte[1024];
                // 从输入流里面读取数据放入data数组里面
                is.read(data);
                // 把byte【】数组中的二进制数据转化成String
                String httpInfo = new String(data);
                System.out.println(httpInfo);

                // 获取输出流(响应)
                os = s.getOutputStream();
//            //响应普通文本
//            os.write("<h1>请求处理完毕,响应数据给浏览器</h1>".getBytes());
//            os.flush();
                // 响应二进制数据——图片、视频、音频
//            File img=new File("img/1.jpg");
//            FileInputStream ins=new FileInputStream(img);
                fis = new FileInputStream("img/1.jpg");
                byte[] imgStr = new byte[1024];
                int len = 0;
                while ((len = fis.read(imgStr)) != -1) {
                    os.write(imgStr, 0, len);
                    os.flush();// 手工刷新
                }
                if (fis != null) {
                    fis.close();
                }
                if (is != null) {
                    is.close();
                }
                if (os != null) {
                    os.close();
                }
                System.out.println("完成响应");
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

おすすめ

転載: www.cnblogs.com/java-programmer-XNKJDX15/p/12007096.html