zoukankan      html  css  js  c++  java
  • [JAVA]Socket 图片流的传输

    import java.io.DataInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        public static void main(String[] args) {
            System.out.println("--->server");
            try {
                ServerSocket server = new ServerSocket(4700);
                Socket socket = server.accept();
                DataInputStream dis = new DataInputStream(socket.getInputStream());
                String type = dis.readUTF();
                System.out.println("type: " + type);
    
                // long len = dis.readLong();
                // System.out.println("len: " + len);
    
                byte[] buff = new byte[1024];
                OutputStream os = new FileOutputStream("C:/Users/Administrator/Desktop/dts.jpg");
                int len = -1;
                while ((len = dis.read(buff)) != -1) {
                    os.write(buff, 0, len);
                }
                os.flush();
                os.close();
                dis.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("server--->");
        }
    }
    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.net.Socket;
    
    public class Client {
        public static void main(String args[]) {
            try {
                Socket socket = new Socket("127.0.0.1", 4700);
                if (socket.isConnected()) {
                    System.out.println("isConnected");
                    DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
                    dos.writeUTF("STREAM");
                    File file = new File("C:/Users/Administrator/Desktop/src.jpg");
                    // dos.writeLong(file.length());
                    byte[] buff = new byte[1024];
                    InputStream inputStream = new FileInputStream(file);
                    int len = -1;
                    while ((len = inputStream.read(buff)) != -1) {
                        dos.write(buff, 0, len);
                    }
                    inputStream.close();
                    dos.flush();
                    dos.close();
                }
                // socket.close(); // 关闭Socket
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    Java操作XML文件
    数据结构之shell排序
    制作个人开发IDE
    ActiveMQ基本详解与总结
    ActiveMQ的作用总结(应用场景及优势)
    C# 封装miniblink 使用HTML/CSS/JS来构建.Net 应用程序界面和简易浏览器
    已使用.netframework,version=v4.6.1 而不是目标框架netcoreapp,version=v2.1 还原包,此包可能与项目不完全兼容
    RabbitMQ的六种工作模式
    RabbitMQ学习系列
    RabbitMQ基本概念和原理
  • 原文地址:https://www.cnblogs.com/afluy/p/3815695.html
Copyright © 2011-2022 走看看