欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

(网络编程)TCP实现文件上传

发布时间:2025/3/20 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 (网络编程)TCP实现文件上传 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

文章目录

  • TCP实现文件上传
    • 客户端代码实现
    • 服务器代码实现

TCP实现文件上传

演示TCP如何实现从客户端上传文件到服务器,可以用两台电脑连同一个局域网,一个作为客户端一个作为服务器实现,两台只要能Ping通就可以。这里由于设备限制用同一台电脑演示。
先放个图片到项目中

客户端代码实现

import java.io.*; import java.net.InetAddress; import java.net.InterfaceAddress; import java.net.Socket; import java.net.UnknownHostException;public class Demo01Client {public static void main(String[] args) throws IOException {//1.创建一个socket连接Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),9000);//2.创建一个输出流OutputStream os = socket.getOutputStream();//3.读取文件FileInputStream fis = new FileInputStream("img.png");//4.写出文件byte[] buffer = new byte[1024];int len;while ((len = fis.read(buffer))!=-1){os.write(buffer,0,len);}//5.通知服务器发送完毕socket.shutdownOutput();//6.确定服务端接收完毕才能断开连接InputStream is = socket.getInputStream();//String byte[]ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buffer1 = new byte[1024];int len1;while ((len1=is.read(buffer1))!=-1){baos.write(buffer1,0,len1);}System.out.println(baos.toString());baos.close();is.close();fis.close();os.close();socket.close();} }

服务器代码实现

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 Demo01Server {public static void main(String[] args) throws IOException {//1.创建服务ServerSocket serverSocket = new ServerSocket(9000);//2.监听客户端连接Socket socket = serverSocket.accept();//3.获取输出流InputStream is = socket.getInputStream();//4.文件输出FileOutputStream fos = new FileOutputStream("receive.png");byte[] buffer = new byte[1024];int len;while ((len=is.read(buffer))!=-1){fos.write(buffer,0,len);}//5.通知客户端接收完毕OutputStream os = socket.getOutputStream();os.write("服务端已接收".getBytes());os.close();fos.close();is.close();socket.close();} }

服务器接收到文件

总结

以上是生活随笔为你收集整理的(网络编程)TCP实现文件上传的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。