Java Socket实现文件上传(发送)

本文介绍了使用Java的Socket和TCP、UDP协议实现文件上传的过程。在TCP协议中,通过ServerSocket和Socket读写文件的字节流进行传输;而在UDP协议下,利用DatagramSocket分段发送和接收文件,当数据包大小为0时标志传输结束。
摘要由CSDN通过智能技术生成

Socket套接字是网络通信中的基本操作单元,我们不仅可以Socket发送和接收字符串,还可以通过输入输出流进行文件的上传或发送。

TCP协议实现文件上传(发送)

TCP协议实现文件上传,即使用ServerSocket和Socket进行文件的上传和接收。

在发送端(客户端)我们需要通过输入流读取需要上传的文件的字节流,再通过socket的输出流将字节数据源源不断地发送出去。

例如:

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientSocketTest {
   
	public static void main(String args[]) throws Exception {
   
		// 要连接的服务端IP地址和端口
		String host = "127.0.0.1";
		int port = 55533;
		// 与服务端建立连接
		Socket socket = new Socket(host, port);
		// 建立连接后获得输出流
		OutputStream outputStream = socket.getOutputStream();
		
		InputStream ins = new BufferedInputStream(new FileInputStream("Java 网络编程基础.png"));
		byte[] message = new byte[1024];
		System.out.println("客户端正在上传文件...");
		while (ins.read(message) != -1) {
   
			outputStream.write(message);
		}
		outputStream.flush();
		outputStream.close();
		ins.close()
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值