java模拟TCP通信实现客户端上传文件到服务器端
2019-10-25 18:07
2001 查看
java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下
客户端
package com.zr; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner; /* 客户端 */ public class TCPClient { public static void main(String[] args) throws IOException { //创建客户端,ip地址:127.0.0.1,端口号:8888 Socket socket=new Socket("127.0.0.1",8888); //创建客户端本地输入流,从客户本地获取要上传的文件 FileInputStream fis=new FileInputStream("timg.jpg"); //获取网络输出字节流,从而向服务器端发送数据 OutputStream os = socket.getOutputStream(); int len=0; byte[] bytes=new byte[1024]; while ((len=fis.read(bytes))!=-1){ //向服务器端发送文件 os.write(bytes,0,len); } //关闭客户端输出流,中断上传 socket.shutdownOutput(); //获取网络字节输入流,从而获取服务器端传来的数据 InputStream is = socket.getInputStream(); while ((len=is.read(bytes))!=-1){ //输出从服务器端获取的数据:“上传成功” System.out.println(new String(bytes,0,len)); } //关闭客户端 socket.close(); } }
服务器端
package com.zr; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; /* 服务器端 */ public class TCPServer { public static void main(String[] args) throws IOException { //创建服务器端,端口号:8888 ServerSocket serverSocket=new ServerSocket(8888); while (true){ //获取客户端对象 Socket socket=serverSocket.accept(); //创建服务器端输出流,从而把从客户端获得的文件保存到服务器本地,并且重新命名 FileOutputStream fos=new FileOutputStream("upload"+System.currentTimeMillis()+".jpg"); //获取网络输出字节流,从而向客户端发送数据 InputStream inputStream = socket.getInputStream(); int len=0; byte[] bytes=new byte[1024]; while ((len=inputStream.read(bytes))!=-1){ //保存从客户端收到的文件 fos.write(bytes,0,len); } //获取网络输出字节流,从而向客户端发送数据 OutputStream outputStream = socket.getOutputStream(); //向客户端发送信息:“上传成功” outputStream.write("上传成功".getBytes()); //关闭客户端 socket.close(); } } }
以上就是本文的全部内容,希望对大家的学习有所帮助
您可能感兴趣的文章:
相关文章推荐
- java模拟TCP通信--实现客户端上传文件到服务器端
- Java练习>网络编程>>TCP通信的客户端、服务器端如何实现数据传送
- Java简单的TCP通信模拟文件上传
- 用Java实现简单的文件上传服务器和客户端
- C#基于TCP&UDP实现服务器与多个客户端之间的通信(客户端之间直接通信,不靠服务器端转发消息)
- 黑马程序员 【】java学习之路——TCP(三)客户端上传文件到服务器
- Java实现文件上传服务器和客户端
- 应用java多线程实现服务器端与多客户端之间的通信
- Java 基于 TCP/IP 实现 Socket中的多客户端通信
- Java 基于 TCP/IP 实现 Socket中的多客户端通信
- 用ActiveXObject可实现从客户端本地上传文件到服务器端的功能
- Java_乔晓松_TCP客户端想服务器端上传照片和文本文件
- java客户端模拟表单上传文件
- java-基本的Socket编程-实现服务器端和客户端通信
- Java学习日记8:文件上传工具类的实现和服务器给客户端发送图片
- java 网络编程之TCP通信和简单的文件上传功能
- Windows 的java客户端实现上传文件到Linux的Hadoop集群上(注意ip和端口是否一致)(已修改)
- VB.NET客户端调用Axis的Java Web Service实现文件上传
- Java 文件分块上传客户端和服务器端源代码