• 大小: 16KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签: java  编程  网络编程  

资源简介

使用Socket传输视频

资源截图

代码片段和文件信息

package com.zzk;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FileDialog;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileNameExtensionFilter;

public class ClientSocketframe extends Jframe {
    private JTextArea ta_info;
    private File file = null;// 声明所选择视频的File对象
    private JTextField tf_path;
    private DataInputStream in = null; // 创建流对象
    private DataOutputStream out = null; // 创建流对象
    private Socket socket; // 声明Socket对象
    private long lengths = -1;// 图片文件的大小
    private String fileName = null;
    
    private void connect() { // 连接套接字方法
        ta_info.append(“尝试连接......\n“); // 文本域中信息信息
        try { // 捕捉异常
            socket = new Socket(“192.168.1.193“ 1978); // 实例化Socket对象
            ta_info.append(“完成连接。\n“); // 文本域中提示信息
            while (true) {
                if (socket != null && !socket.isClosed()) {
                    out = new DataOutputStream(socket.getOutputStream());// 获得输出流对象
                    in = new DataInputStream(socket.getInputStream());// 获得输入流对象
                    getServerInfo();// 调用getServerInfo()方法
                } else {
                    socket = new Socket(“192.168.1.193“ 1978); // 实例化Socket对象
                }
            }
        } catch (Exception e) {
            e.printStackTrace(); // 输出异常信息
        }
    }
    
    public static void main(String[] args) { // 主方法
        ClientSocketframe clien = new ClientSocketframe(); // 创建本例对象
        clien.setVisible(true); // 将窗体显示
        clien.connect(); // 调用连接方法
    }
    
    private void getServerInfo() {
        try {
            String name = in.readUTF();// 读取文件名
            long lengths = in.readLong();// 读取文件的长度
            byte[] bt = new byte[(int) lengths];// 创建字节数组
            for (int i = 0; i < bt.length; i++) {
                bt[i] = in.readByte();// 读取字节信息并存储到字节数组
            }
            FileDialog dialog = new FileDialog(ClientSocketframe.this “保存“);// 创建对话框
            dialog.setMode(FileDialog.SAVE);// 设置对话框为保存对话框
            dialog.setFile(name);
            dialog.setVisible(true);// 显示保存对话框
            String path = dialog.getDirectory();// 获得文件的保存路径
            String newFileName = dialog.getFile();// 获得保存的文件名
            if (path == null || newFileName == null) {
                return;
            }
            String pathAndName = path + “

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2010-10-26 16:10  318\.classpath

     文件        379  2011-01-04 14:16  318\.project

     文件        629  2010-10-26 16:10  318\.settings\org.eclipse.jdt.core.prefs

     文件       1883  2011-01-29 16:52  318\bin\com\zzk\ClientSocketframe$1.class

     文件       2184  2011-01-29 16:52  318\bin\com\zzk\ClientSocketframe$2.class

     文件       5952  2011-01-29 16:52  318\bin\com\zzk\ClientSocketframe.class

     文件       1891  2011-01-28 13:36  318\bin\com\zzk\ServerSocketframe$1.class

     文件       2192  2011-01-28 13:36  318\bin\com\zzk\ServerSocketframe$2.class

     文件       6122  2011-01-28 13:36  318\bin\com\zzk\ServerSocketframe.class

     文件       7023  2011-01-29 16:52  318\src\com\zzk\ClientSocketframe.java

     文件       7088  2010-10-27 14:05  318\src\com\zzk\ServerSocketframe.java

     目录          0  2011-01-28 13:36  318\bin\com\zzk

     目录          0  2011-01-25 14:12  318\src\com\zzk

     目录          0  2011-01-28 13:36  318\bin\com

     目录          0  2011-01-25 14:12  318\src\com

     目录          0  2011-01-25 14:12  318\.settings

     目录          0  2011-01-28 13:36  318\bin

     目录          0  2011-01-25 14:12  318\src

     目录          0  2011-01-25 14:12  318

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

                35644                    19


评论

共有 条评论