使用TCP协议写一个可以上传文件的服务器和客户端
2015-06-14 07:57
751 查看
public class Test9 { public static void main(String[] args) {} } //客户端 class Client { public static void main(String[] args) throws Exception { //建立Socket服务 Socket fileLoaderSocket = new Socket("168.168.168.94", 10005); //从客户端本地读取文件,并写入socket的输出流中 OutputStream out = fileLoaderSocket.getOutputStream(); //实例化对象fileReader InputStream fileRead = new FileInputStream("G:\\2.mp3"); //建立数组 byte[] buf = new byte[1024]; int len = 0; //判断是否读到文件末尾 while((len=fileRead.read(buf)) != -1) { out.write(buf, 0, len); } //告诉服务端,文件已传输完毕 fileLoaderSocket.shutdownOutput(); //获取从服务端反馈的信息 BufferedReader in = new BufferedReader(new InputStreamReader(fileLoaderSocket.getInputStream())); String serverBack = in.readLine(); System.out.println(serverBack); //资源关闭 fileLoaderSocket.close(); fileRead.close(); } } //服务端 class Server { public static void main(String[] args) throws Exception { //建立服务端Socket ServerSocket ss = new ServerSocket(10005); //接收客户端Socket Socket fileLoaderSocket = ss.accept(); //打印连接信息 String ip = fileLoaderSocket.getInetAddress().getHostAddress(); System.out.println(ip + "...conncected"); //接收文件,并保存 InputStream in = fileLoaderSocket.getInputStream(); //实例化对象fileSave OutputStream fileSave = new FileOutputStream("E:\\3.mp3"); //建立数组buf byte[] buf = new byte[1024]; int len = 0; //判断是否读到文件末尾 while((len=in.read(buf)) != -1) { fileSave.write(buf, 0, len); //刷新 fileSave.flush(); } //返回文件复制情况信息 BufferedWriter out = new BufferedWriter(new OutputStreamWriter(fileLoaderSocket.getOutputStream())); out.write("文件上传成功"); //刷新 out.flush(); //资源关闭 ss.close(); fileLoaderSocket.close(); fileSave.close(); } } |
相关文章推荐
- Linux网络设备驱动-- skb
- HDU--杭电--2732//POJ--2711--Leapin' Lizards--网络流
- Wireshark过滤规则之:IP数据包过滤
- 基于MFC的网络浏览器Demo
- android 网络传输中UDP和TCP传输
- Qt开发:TCP和UDP网络通信
- 启动脚本中避免目标地址为域名的网络连接
- 计算机网络技术中的网络互连技术
- Linux下限制网络带宽
- 网络管理关键和局域网络管理
- TCP紧急数据
- 网络攻防之SQL注入攻击
- 【iOS开发-网络】两种常用的方法解析XML数据
- delete分析 引用于 http://www.cnblogs.com/yuzhongwusan/archive/2012/06/14/2549879.html
- 实验五 Java网络编程及安全
- Ubuntu Server 下配置静态网络的方法
- 文件与网络、JSON解析
- 【iOS开发-网络】解析json数据
- 神经网络的理论基础
- unity开发:UDP socket网络连接