클라이언트2 [C/C++] TCP/IP 대용량 파일 전송 프로그램 (서버, 클라이언트) 2022.07.22 - [C&C++/소켓 프로그래밍] - [C/C++] VSCode 윈도우 기반 서버, 클라이언트 예제 클라이언트 -> 서버로 파일을 전송하는 프로그램입니다. 파일 처리 방법 파일은 결국 바이너리 파일이라 읽고 쓰기 위해서는 인코딩 과정이 필요하다 그래서 파일을 주고 받을 때도 인코딩을 해서 파일에 쓰고 다시 디코딩 해서 읽어야 한다 파일 전송 과정-서버 측 1. 클라이언트가 파일을 요청한다. 이 때 파일 이름은 이진 바이트 스트림 데이터 형태로 온다 2. 파일 이름을 일반 문자열로 변환한다 3. open으로 해당 파일을 연다 4. read로 파일을 1024바이트 읽는다 5. 파일이 빈 문자열일 때까지 계속 1024바이트씩 읽고 전송한다(각 라인을 읽어서 리턴해야 하기 때문에 끊어서) 파.. 2022. 8. 22. [C/C++] VSCode 윈도우 기반 서버, 클라이언트 예제 우선 서버, 클라이언트 코드부터 보겠습니다. - server.c #include #include #include void ErrorHandling(char *message); int main(int argc, char *argv[]) { WSADATA wsaData; SOCKET hServSock, hClntSock; SOCKADDR_IN servAddr, clntAddr; int szClntAddr; char message[] = "Hello World!"; if(argc != 2) { printf("Usage:%s \n", argv[0]); exit(1); } if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) //소켓 라이브러리 초기화 ErrorHandling("WSA.. 2022. 7. 22. 이전 1 다음