socket client传文件到server,server端接收成功后给客户端反馈一个信息

java server接收文件后返回字符串给client


客户端:

/* 通讯 
需求:传送任意文件 
 
tcp传输要定义2个端点,客户端和服务端 
步骤 
1.定义服务, 服务器ip和接收端口 
2.读取客户端已有的图片文件 
3.使用socket输出流将数据发给服务端 
4.读取服务端的反馈信息 
5.关闭资源 
 
注意: 
1.在while循环中的read方法最后读到文件结束标记-1后循环退出了 
  而没有将该标记写入socket流中,那么服务端接收到的数据是不完整的,而且停不下来 
  用shutdownOutput方法告诉服务端文件到了末尾结束发送了 
 
[示例]:传送任意文件 (客户端) 
*/  
  
import java.net.*;  
import java.io.*;  
class Demo  
{  
  public static void main(String[] args) throws Exception  
  {  
    new FileClient("c:\\FoxitReader_CHS.rar"); //启动客户端,准备发送指定文件  
  }  
}  
  
class FileClient  //客户端  
{  
  FileClient(String fileStr) throws Exception  
  {  
    s.op("客户端启动....");  
    File file = new File(fileStr);  //关联一个文件c:\\FoxitReader_CHS.rar  
    if(file.isFile())  //是一个标准文件吗?  
    {  
      client(file);    //启动连接  
    }  
    else  
    {  
      s.op("要发送的文件 "+fileStr+" 不是一个标准文件,请正确指定");  
    }  
  }  
    
  public void client(File file)throws Exception  
  {  
    Socket sock= new Socket("192.168.1.3",10007); //指定服务端地址和端口  
  
    FileInputStream fis = new FileInputStream(file); //读取本地文件  
    OutputStream sockOut = sock.getOutputStream();   //定义socket输出流  
      
    //先发送文件名.让服务端知道  
    String fileName = file.getNam

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值