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();
            }
        }
    }
  • 相关阅读:
    20155307《网络对抗》网络欺诈技术防范
    20155307《网络对抗》信息搜集与漏洞扫描
    20155307《网络对抗》MSF基础应用
    20155307《网络对抗》恶意代码分析
    20155307《网络对抗》免杀原理与实践
    预习非数值数据的编码方式
    预习原码补码
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
  • 原文地址:https://www.cnblogs.com/afluy/p/3815695.html
Copyright © 2011-2022 走看看