A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

奥妹

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

需求说明:做一个“文件上传案例”
要求:将项目中的一个图片,通过客户端上传至服务器
操作步骤:
1,创建服务器,等待客户端连接
2,创建客户端Socket,连接服务器
3,获取Socket流中的输出流,功能:用来把数据写到服务器
4,创建字节输入流,功能:用来读取数据源(图片)的字节
5,把图片数据写到Socket的输出流中(把数据传给服务器)
6,客户端发送数据完毕,结束Socket输出流的写入操作,告知服务器端
7,获取Socket的输入流
8,创建目的地的字节输出流
9,把Socket输入流中的数据,写入目的地的字节输出流中
10,获取Socket的输出流, 作用:写反馈信息给客户端
11,写反馈信息给客户端
12,获取Socket的输入流  作用: 读反馈信息
13,读反馈信息
代码:
先创建服务器:
---------------------
[mw_shl_code=java,true]public class TCPServer3 {
    public static void main(String[] args) throws IOException {
        //1创建服务器对象
        ServerSocket server = new ServerSocket(9898);

        //2等待客户端连接   如果有客户端连接  获取到客户端对象
        Socket s = server.accept();

        //3当前在服务器中  读取数据
        InputStream in = s.getInputStream();

        //4当前在服务器中  将数据写到流中
        FileOutputStream fos = new FileOutputStream("BBQ\\123.png");
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = in.read(bytes)) != -1) {
            fos.write(bytes, 0, len);
        }

        //5写完数据提示上传成功
        s.getOutputStream().write("上传成功".getBytes());
        //6释放资源
        fos.close();
        s.close();
        server.close();

    }
}

服务器创建完毕后 创建客户端:
[mw_shl_code=java,true]public class TCPClient3 {
    public static void main(String[] args) throws IOException {
        //1创建服务器对象
        Socket s = new Socket("127.0.0.1", 9898);

        //2指定路径
        FileInputStream fis = new FileInputStream("D:\\123.png");

        //3读取服务器数据
        OutputStream out = s.getOutputStream();
        byte[] bytes = new byte[1024];
        int len = 0;
        while ((len = fis.read(bytes)) != -1) {
            out.write(bytes, 0, len);
        }

        //4告知书写完毕
        s.shutdownOutput();

        //5书写到服务器
        InputStream in = s.getInputStream();
        len = in.read(bytes);
        System.out.println("服务器:" + new String(bytes, 0, len));

        //6释放资源
        fis.close();
        s.close();

    }
}



         
         
---------------------





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马