tcp图片上传

Posted csslcww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp图片上传相关的知识,希望对你有一定的参考价值。

1.client

 1 public static void main(String[] args) throws IOException {
 2         // 创建客户端Socket对象
 3         Socket s = new Socket("192.168.12.92", 19191);
 4 
 5         // 封装图片文件
 6         BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
 7                 "林青霞.jpg"));
 8         // 封装通道内的流
 9         BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream());
10 
11         byte[] bys = new byte[1024];
12         int len = 0;
13         while ((len = bis.read(bys)) != -1) {
14             bos.write(bys, 0, len);
15             bos.flush();
16         }
17         
18         s.shutdownOutput();
19 
20         // 读取反馈
21         InputStream is = s.getInputStream();
22         byte[] bys2 = new byte[1024];
23         int len2 = is.read(bys2);
24         String client = new String(bys2, 0, len2);
25         System.out.println(client);
26 
27         // 释放资源
28         bis.close();
29         s.close();
30     }

 

2.server

public static void main(String[] args) throws IOException {
        // 创建服务器Socket对象
        ServerSocket ss = new ServerSocket(19191);

        // 监听客户端连接
        Socket s = ss.accept();

        // 封装通道内流
        BufferedInputStream bis = new BufferedInputStream(s.getInputStream());
        // 封装图片文件
        BufferedOutputStream bos = new BufferedOutputStream(
                new FileOutputStream("mn.jpg"));

        byte[] bys = new byte[1024];
        int len = 0;
        while ((len = bis.read(bys)) != -1) {
            bos.write(bys, 0, len);
            bos.flush();
        }

        // 给一个反馈
        OutputStream os = s.getOutputStream();
        os.write("图片上传成功".getBytes());

        bos.close();
        s.close();
    }

 

注意:IO流的操作流程不熟悉,查询api

以上是关于tcp图片上传的主要内容,如果未能解决你的问题,请参考以下文章

tcp图片上传

上传图片Tcp交互

如何上传图片到七牛云

使用 AFNetworking、ios 上传图片

java 26 - 8 网络编程之 TCP协议上传图片

(4)优化TCP编写 客服端上传图片,服务端给客服端发消息问好