파일 송수신 프로그램, 클라이언트 및 서버 코드


파일 송수신 프로그램, 클라이언트 및 서버 코드

프로그램의 전체 흐름 설명 전체 흐름을 간단히 도식화하면 위와 같습니다. 서버와 클라이언트가 소켓 통신을 하기 위해서 ip 주소, 포트 번호 등을 설정하고 소켓 연결을 합니다. 클라이언트는 connect 함수로 서버는 bind 함수로 소켓 연결이 되면 서버는 클라이언트의 연결 요청을 accept 함수로 수락해줍니다. 이렇게 연결이 된 후 클라이언트가 서버에게 send 함수로 전송할 파일명을 보냅니다. 서버가 정상적으로 파일명을 받으면 “ok”를 클라이언트에게 보내고 클라이언트는 바이너리 읽기모드로 파일을 열어서 버퍼에 복사 후 해당 내용을 서버에 전송합니다. 서버는 받은 내용을 바이너리 쓰기모드로 파일을 열어 저장합니다. 서버는 연결된 클라이언트의 ip 주소, 포트 번호를 출력하고 받은 파일 내용 만큼에 해당하는 파일 사이즈도 출력을 합니다. 이 모든 것을 다중접속 방식으로 구현하기 위해서 쓰레드를 이용했습니다. 쓰레드를 이용하기 때문에 파일을 전송하는 과정을 쓰레드 함수에서 처리하...


#서버 #송수신 #클라이언트 #파일 #프로그램

원문링크 : 파일 송수신 프로그램, 클라이언트 및 서버 코드