没头发的羊 2022-04-14 21:12 采纳率: 0%
浏览 37

使用java实现文件,文件上传成功但是为什么收不到服务器端的回送报文呢

使用java实现文件,文件上传成功但是为什么收不到服务器端的回送报文呢

客户端
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("C:\abc\a.jpg");//使用字节输入流读取本地文件
Socket socket = new Socket("127.0.0.1",6666);//创建socket对象
OutputStream os = socket.getOutputStream();//创建网络字节输出流
int len;
byte[]bytes=new byte[1024];
while ((len=fis.read(bytes))!=-1){
os.write(bytes,0,len);//将读取的本地文件发送到服务器端
}

    InputStream is = socket.getInputStream();//创建网络字节输入流
    int lens;
    byte []byesss=new byte[1024];
    while ((lens=is.read(byesss))!=-1){//读取服务器端回送报文
        System.out.println(new String(bytes,0,lens));
    }
    fis.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 Sever {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("D:\abc\a.jpg");//使用字节输出流将客户端发送来的文件保存至硬盘
ServerSocket server = new ServerSocket(6666);//创建服务器端对象
Socket socket = server.accept();//获取和此服务器端进行通信的客户端
InputStream is = socket.getInputStream();//利用客户端创建网络字节输入流
int len;
byte[]bytess=new byte[1024];
while ((len=is.read(bytess))!=-1){//利用网络字节输入流读取客户端发来的文件
fos.write(bytess,0,len);
}

    OutputStream os = socket.getOutputStream();//利用客户端创建网络字节输出流
    os.write("确认收到".getBytes());//发送回送报文
    fos.close();
    socket.close();
    server.close();
}

}

文件已经传输至D盘,但是为什么没有回送报文

img

怎么才能得到回送报文

  • 写回答

2条回答 默认 最新

  • 为了我的架构师 2022-04-15 08:45
    关注

    应该是你public static void main主方法执行完了就关闭了,你在接收响应消息上加上while(true)包起来

    评论

报告相同问题?

问题事件

  • 创建了问题 4月14日

悬赏问题

  • ¥15 运动会成绩管理系统的设计与实现
  • ¥15 matlab支持向量机使用错误
  • ¥99 利用C/C++语言,使用TCP/IP协议,编一个简易聊天程序
  • ¥15 如何使用python 实现对串口/dev/ttyUSB0进行上锁,使得该串口只能在一个python脚本中使用,其他脚本不能操作这个串口
  • ¥15 晶体塑性有限元——Damask求解
  • ¥30 设计一个图形用户界面来控制你机械臂的运动
  • ¥30 3d打印机无法识别到SD卡,如何解决?(相关搜索:格式化)
  • ¥15 前端返回pdf时不显示内容
  • ¥50 如何在不能联网影子模式下的电脑解决usb锁
  • ¥20 服务器redhat5.8网络问题