public static void main(String[] args) { // 创建ServerSocket对象,开启8088端口监听发送过来的请求 // IP是电脑在网络上的唯一标识,端口号是程序在电脑中的唯一标识 InputStream is = null; OutputStream os = null; FileInputStream fis = null; try { ServerSocket ss = new ServerSocket(8888); System.out.println("服务器启动"); // 让服务器循环监听请求(服务器不能停止运行) while (true) { // 接收请求过来的数据 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
今日推荐
周排行