温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java模拟TCP通信如何实现客户端上传文件到服务器端

发布时间:2021-06-06 18:13:53 来源:亿速云 阅读:386 作者:小新 栏目:编程语言

这篇文章主要介绍java模拟TCP通信如何实现客户端上传文件到服务器端,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

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通信如何实现客户端上传文件到服务器端”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI