案例——TCP上传图片

TCP上传图片

  继续做一个TCP的相关案例,在客户端上传一张图片到服务端,服务端收到图片后,给客户端回馈上传成功信息。

实现细节:

  • 对于一些文件的读取,若文件偏大,可以始用缓冲区去读取和写入,可以提高效率
  • 服务端面向的是很多用户,所以必须要开线程来接收
  • 如果同一个用户上传多张图片则有可能文件名重复,所以要对文件名做处理,具体在代码处有注释
  • 客户端图片上传完成后需要给服务端发送结束信息,s.shutdownOutput();
    就像是写入了一个终止符一样

客户端

需要在上传结束的时候写入终止符告诉服务端上传结束,可以双方约定一个终止的符号,也可以用shutdownOutput()方法来传递结束信息

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class UploadPicClient {
   

	public static void main(String[] args) throws IOException {
   
		System.out.println("上传图片客户端启动...");
		
		//1、创建socket
		Socket s = new Socket("127.233.24.3", 10018);
		
		//2、读取源图片
		File picFile = new File("D:\\forio\\download.jpg");
		BufferedInputStream fis = new BufferedInputStream(new FileInputStream(picFile));
		
		//3、目的:socke
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值