资源简介
使用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\ClientSocketfr
文件 2184 2011-01-29 16:52 318\bin\com\zzk\ClientSocketfr
文件 5952 2011-01-29 16:52 318\bin\com\zzk\ClientSocketfr
文件 1891 2011-01-28 13:36 318\bin\com\zzk\ServerSocketfr
文件 2192 2011-01-28 13:36 318\bin\com\zzk\ServerSocketfr
文件 6122 2011-01-28 13:36 318\bin\com\zzk\ServerSocketfr
文件 7023 2011-01-29 16:52 318\src\com\zzk\ClientSocketfr
文件 7088 2010-10-27 14:05 318\src\com\zzk\ServerSocketfr
目录 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
- 上一篇:使用Socket传输音频
- 下一篇:indy9 ssl使用的两个动态库
相关资源
- 使用Socket传输音频
- 定义一个接口Assaultable(可攻击的),
- 学生选课er模型图
- 《快乐成语》益智游戏完全源程序
- J2ME斜45度游戏引擎
- 一个漂亮的打地鼠游戏源码
- Exactly like the classic etch-a-sketch game yo
- 我的拼图游戏WIN32编程
- 网络编程---ftp客户端程序实验报告
- it项目测试文档(全集)
- TDP协议 网络编程协议
- CSR蓝牙应用程序编程手册中文版
- Netty+H5实现实时进度条文件上传,支持
- 博览网 陈硕网络编程实战 绝对有效
- LabWindows CVI 3D graph控件编程
- Spring Security技术栈开发企业级认证与
- 支付宝在线支付视频教程
- 顺丰科技2019 秋招视觉算法工程师笔试
- ZigBee编程基础入门最适合迷茫的初学
- peers0.43源代码
- Activiti6工作流视频整合SpringBoot2.0
- 贪吃蛇汇编程序
- IBM ILOG CPLEX编程速成
- 北京理工大学数据结构编程练习答案
- 每特教育第三期
- QUdpSocket 多线程编程 moveToThread
- MSINET.OCX
- 程序存储问题 对于给定的n个程序存
- 《openssl编程》当前完整版本
- 雷霆战机代码
评论
共有 条评论