Socket套接字,服务端read阻塞问题
程序背景:上传下载功能
加shutdown之前存在read阻塞问题,以下为修改好的代码
- 服务端(接收上传并下载)
package com.qf.study;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.UUID;
public class Server {
public static void main(String[] args) throws Exception {
//指定服务端的端口号
ServerSocket serverSocket = new ServerSocket(9987);
//死循环,可以获取无限个从客户端连接过来的客户端socket
while(true){
Socket acceptSocket = serverSocket.accept();
//每收到一个,为其开启一个线程
new Thread(){
public void run() {
//获取本地字节输出流对象,指向本地某个文件夹的文件
//(文件如果不存在是会自动被创建的,文件夹不会,所以要先判断指向的文件夹是否存在)
File fileDir = new File("D:\\m");
if(!fileDir.exists()){
fileDir.mkdirs();
}