没有合适的资源?快使用搜索试试~ 我知道了~
首页Java基于TCP方式的二进制文件传输
资源详情
资源评论
资源推荐

Java基于基于TCP方式的二进制文件传输方式的二进制文件传输
主要为大家介绍了Java基于TCP方式的二进制文件传输,一个基于Java Socket协议之上文件传输的完整示例,基于TCP通
信完成,感兴趣的小伙伴们可以参考一下
一个基于Java Socket协议之上文件传输的完整示例,基于TCP通信完成。
除了基于TCP的二进制文件传输,还演示了JAVA Swing的一些编程技巧,Demo程序
实现主要功能有以下几点:
1.基于基于Java Socket的二进制文件传输的二进制文件传输(包括图片,二进制文件,各种文档包括图片,二进制文件,各种文档work,,PDF)
2.SwingWorker集合集合JProgressBar显示实时传输显示实时传输/接受完成的百分比接受完成的百分比
3.其它一些其它一些Swing多线程编程技巧多线程编程技巧
首先来看一下整个Dome的Class之间的关系图:
下面按照上图来详细解释各个类的功能与代码实现:
服务器端:
FileTransferServer类的功能首先是在端口9999创建一个服务器套接字并
开始监听连接。相关代码如下:
private void startServer(int port) {
try {
serverSocket = new ServerSocket(port);
System.out.println("Server started at port :" + port);
while(true) {
Socket client = serverSocket.accept(); // blocked & waiting for income socket
System.out.println("Just connected to " + client.getRemoteSocketAddress());
FileReceiveTask task = new FileReceiveTask(client);
bar.setValue(0); // reset it now
task.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if ("progress".equals(evt.getPropertyName())) {
bar.setValue((Integer) evt.getNewValue());
}
}
});
task.execute();
}
} catch (IOException e) {
e.printStackTrace();
}
}
关于PropertyChangeListener, Java提供了一个非常有力的工具类来
监控任意Bean Model的数据改变,程序通过添加该监听器实现对
SwingWorker的progress属性值改变的事件捕获,然后更新JProgressBar
实例对象,实现了UI的刷新。FileTransferServer类的完整源代码如下:
package com.gloomyfish.socket.tutorial.filetransfer;



















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0