- 浏览: 478567 次
- 性别:
- 来自: 北京
最新评论
-
fatalfeel:
Irrlicht 3d Engine is full open ...
转:Android世界的15款开源的游戏开发引擎 -
diyangxia:
BigDecimal怎么初始化全局变量呢
android如何保留小数点后x位数字 -
c1230v:
这是一个程序员应该用的方法吗?求靠谱一点
转:android WebView 控件加载本地sdcard中html文件图片的问题 -
dingbuoyi:
楼主是天才 真牛逼
转:Progressbar-设置自己的样式 -
panxiaoming2008:
记住:显示本地文件时 必须使用APK'>file:/// ...
Android使用WebView加载本地资源
客户端:
Client.java
package lee.socket; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.Socket; public class Client { static DataInputStream din = null; static DataOutputStream dout = null; static Socket s = null; public static void main(String[] args) { try { s = new Socket("127.0.0.1", 2224); File file = new File("d:/05.jpg"); // 定义文件 FileInputStream fis = new FileInputStream(file); // 定义文件输入流 din = new DataInputStream(new BufferedInputStream(fis)); // 用缓存流包装文件输入流(提高读取速度),然后再包装成数据输入流 dout = new DataOutputStream(s.getOutputStream());// 定义数据输出流 dout.writeUTF(String.valueOf(file.length())); // 发送文件长度 byte[] buffer = new byte[1024]; // 定义缓存 int len = 0; while ((len = din.read(buffer)) != -1) { dout.write(buffer, 0, len); // 向服务器发送数据 } dout.flush(); } catch (IOException e) { System.out.println(e.toString()); } finally { try { if (din != null) { din.close(); din = null; } } catch (Exception e) { e.printStackTrace(); } try { if (dout != null) { // 最后一定要关闭输出流,不然数据发送不出去。导致一直连接着,不断开 dout.close(); dout = null; } } catch (Exception e) { e.printStackTrace(); } try { if (s != null) { s.close(); s = null; } } catch (Exception e) { e.printStackTrace(); } } } }
Android和客户端基本一样。
服务端:
Server.java
package lee.socket; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { static DataInputStream din = null; static DataOutputStream dout = null; static Socket s = null; public static void main(String[] args) { new Thread() { // 开启子线程 public void run() { try { ServerSocket ss = new ServerSocket(2224); // 这个必须在while外,不然会循环连接端口,出错 while (true) { System.out.println("--------等待用户连接--------------"); s = ss.accept(); System.out.println("--------用户连接上了--------------"); din = new DataInputStream(new BufferedInputStream(s .getInputStream()));// 使用缓存进行包装,提示读取速度 System.out.println("文件长度:" + din.readUTF()); // 显示接收文件长度 File file = new File("d:/01.jpg"); FileOutputStream fos = new FileOutputStream(file); dout = new DataOutputStream(new BufferedOutputStream( fos)); byte[] buffer = new byte[1024]; int len = 0; while ((len = din.read(buffer)) != -1) { dout.write(buffer, 0, len); } dout.flush(); dout.close(); // 下面的finally要等到循环结束后才执行,如果不执行close,文件无法正常打开 System.out.println("接受成功"); } } catch (IOException e) { e.printStackTrace(); } finally { // 等while循环结束后才会执行, try { if (dout != null) { dout.close(); dout = null; } } catch (Exception e) { e.printStackTrace(); } try { if (din != null) { din.close(); din = null; } } catch (Exception e) { e.printStackTrace(); } try { if (s != null) { s.close(); s = null; } } catch (Exception e) { e.printStackTrace(); } } } }.start(); } }
转自:http://shazhuzhu1.iteye.com/blog/965658
发表评论
-
service学习
2012-05-16 00:41 850http://www.cnblogs. ... -
InputStream,String,File相互转化
2012-05-14 23:32 12481. String --> InputStream ... -
转:实现类似手机QQ的可折叠固定标题列表
2012-04-12 19:05 1364http://douzifly.cnblog ... -
转:[Android]倒影效果的ImagView
2012-04-06 23:29 1350本文源自:http://blog.csdn.net/ke ... -
转:JDK中的URLConnection参数详解
2012-04-06 23:01 1153针对JDK中的URLConnection连 ... -
转:Game Engines for Android (Android游戏引擎)
2012-03-24 13:12 2693With Google IO fast approach ... -
做Android 系统/应用开发怎么可以不懂自动化测试
2012-03-22 15:02 1118http://blog.csdn.net/yiyaaixuex ... -
让Qt应用程序跑在Android上
2012-03-22 14:55 1324http://blog.c ... -
转:在android 2.3 AVD 模拟器上安装 google market 安卓市场
2012-03-22 14:29 1053http:// ... -
增加 addDataScheme("file") 才能收到SD卡插拔事件的原因分析 -- 浅析android事件过滤策略
2012-03-22 14:26 1924... -
转:andengine中的ParticleSystem
2012-01-18 11:08 1501看ParticleSystemSimpleExample,看得 ... -
test4:腾讯
2011-12-26 20:27 2www.qq.com -
test3:Yahoo
2011-12-26 20:25 2www.yahoo.com -
test2:google
2011-12-26 10:53 5www.google.com.hk -
test1:百度
2011-12-26 10:52 6www.baidu.com -
转:android 打包自己的自定义组件成JAR包
2011-12-24 11:54 1249http://www.cnblogs.c ... -
转:AndEngine中的字体加载及应用
2011-12-15 15:39 1521AndEngine中的字体加载及应用 An ... -
转:Android游戏框架AndEngine使用入门
2011-12-13 14:24 1559项目站点:http://www.andengine.org 项 ... -
转:notification更新数字的显示及AnimationDrawable的结合使用
2011-12-07 10:25 2579这是本人加入博客园的首篇博文,自己平常在工作学习过程遇 ... -
转:Android系统上(mv不可用)cp命令的替代方法
2011-11-30 18:32 9633Android系统上cp命令 ...
相关推荐
本篇文章主要介绍了python:socket传输大文件示例,具有一定的参考价值,有兴趣的可以了解一下,
文件结构: Debug ...本案例通过一个基本协议,使用socket传送数据,能够达到大量数据发送不发生粘包等常见现象,在我本机测试,一次性能够传送的数据包大小为系统一次性能够读入的数据大小,大约为2个G
c# socket 传输文件,c# socket 传输文件,c# socket 传输文件
Socket传输大文件(发送与接收源码):通过Socket服务端与客户端的通信,实现大文件之间传输
修改IP 地址和端口号,即可实现任意主机互联, 传送文件的大小和格式没有限制! 把服务器端保存为:socket_service.c 客户端:socket_client.c 编译时执行: gcc -g socket_service.c -lpthread -o server gcc -g ...
发送端可以不停的发送新文件,接收端可以不停的接收新文件。 例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_visio.rar,支持多并发,具体实现如下; 接收端: 方法一: #-*- coding: UTF-8 -*- ...
C#socket 大文件传输 分段传输 C#DEMO
C# 实现的SOCKET大文件传输,支持高并发,断点续传等,是学习SOCKET通信的经典案例,走过路过不要错过!!!!!!
C#Socket文件传输,将文件名和文件保存到一个byte[]中传输,再通过解析获取文件名和文件保存到本地文件夹中
socket传输文件实例 socket传输文件实例 socket传输文件实例
VC++基于socket传输文件服务端代码,并且加入了可配置选项,根据配置文件读取相关配置
对java socket 编程的练习,做了一个基于socket的文件传输程序,可以实现单方文件传输
在linux下的c/c++实现的socket文件传输
c++编写的 MFC socket 文件传输 编译通过 可直接运行
socket通信文件传输 socket通信文件传输 socket通信文件传输 socket通信文件传输
2 每个Socket连接同时只能够传输一个文件。 3 可同时发送网络消息 网络消息的消息格式为: @+nnnnn+消息内容,其中@为消息头,nnnnn为消息内容的长度。 与文件传送相关的网络消息号为负数,具体如下: 消息号 格式 ...
实现文件传输功能~使用与初学者对socket的了解和深一步的研究!希望能给大家带来帮助
c++ 编写的 mfc socket 文件传输例子 已通过编译 下载可直接使用 c++语言