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();
            }
        }
    }
  • 相关阅读:
    VBS修改本机的账号密码
    验证是否为全局编录服务器
    通过CMD命令设置网络参数
    VBS映射网络驱动器 映射网络驱动器
    命令提示符映射网络驱动器
    获得域内包括工作组内的所有计算机及其信息
    VirtualBox安装Redhat9.0
    启动和停止Oracle服务bat脚本
    Vim常用命令
    使用为知笔记客户端发布博客到【博客园】
  • 原文地址:https://www.cnblogs.com/afluy/p/3815695.html
Copyright © 2011-2022 走看看