import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
/**
* TCP字节流上传文件并接受服务器反馈
*/
public class ClientDeom {
public static void main(String[] args) throws IOException {
/**
* 创建Socket对象
*/
Socket socket = new Socket(InetAddress.getLocalHost(), 10010);
/**
* 创建字节缓冲输入流并指向上传文件
*/
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("Array/src/Day12/Text06/Txt.txt"));
/**
* 获取字节输出缓冲流
*/
BufferedOutputStream bos = new BufferedOutputStream(socket.getOutputStream());
/**
* 向服务器发送数据
*/
int len;
byte[] bytes = new byte[1024];
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes, 0, len);
bos.flush();
}
/**
* 标记发送完毕
*/
socket.shutdownOutput();
/**
* 接受服务器反馈
*/
/**
* 获得字节输入流
*/
InputStream is = socket.getInputStream();
while ((len = is.read(bytes)) != -1) {
System.out.println(new String(bytes, 0, len));
}
/**
* 释放资源
*/
bis.close();
socket.close();
}
}
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* TCP接受客户端上传文件
*/
public class ServerDeom {
public static void main(String[] args) throws IOException {
/**
* 创建ServerSocket对象
*/
ServerSocket serverSocket = new ServerSocket(10010);
/**
* 监听客户端连接,返回Socket对象
*/
Socket socket = serverSocket.accept();
/**
* 获取字节输入缓冲流
*/
BufferedInputStream bis = new BufferedInputStream(socket.getInputStream());
/**
* 创建字节输出缓冲流,指向本地文件
*/
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("Array/src/Day12/Text06/副本.txt"));
/**
* 接收客户端信息
*/
int len;
byte[] bytes = new byte[1024];
while ((len = bis.read(bytes)) != -1) {
bos.write(bytes);
bos.flush();
}
/**
* 反馈客户端
*/
/**
* 获取字节输出流
*/
OutputStream os = socket.getOutputStream();
os.write("上传成功".getBytes());
/**
* 标记反馈完毕
*/
socket.shutdownOutput();
/**
* 释放资源
*/
bos.close();
serverSocket.close();
}
}
TCP字节流上传文件并接受服务器反馈
最新推荐文章于 2024-04-28 19:30:40 发布