서버측:
ServerSocket  serverSock = new ServerSocket(port);
Socket socket = serverSocket.accept();

클라이언트측:
Socket socket = new Socket(serverIP, port);

위와 같이 소켓을 생성해 줬는데요...문제는 파일 전송시에 동기화가 되지 않는거 같네요...

위도우 같은 경우 tcp 통신시 send 에서도 블락이 되는데 java 는 그런것을 자기가 알아서 설정해야 하나요?

File file = new File(Path, str);
    OutputStream outputStream = socket.getOutputStream();
    FileInputStream fileInputStream = new FileInputStream(file);
    
    synchronized (si) {
     si.add("File Transfer Request Success");
    }
    for(int i = 0 ; i<file.length() ; i++){
         outputStream.write(fileInputStream.read());
        }  

파일 전송을 담당한 스레드의 일부 입니다.

디버깅 하면서 봐서 그런건지 아님 다른 메소드로 동기화를 설정해 줘야 하는 건지 잘 모르겠네요.

도움 부탁 드립니다.