1. 작업 환경
- Oracle VM VirtualBox
- ubuntu 22.04
- PuTTY
- 언어 : C
2. TCP 기반 서버, 클라이언트의 함수 호출 관계
- 전화기로 비유하자면 socket()은 전화기를 만드는 것
- bind()는 전화번호 부여
- listen()은 대기 상태, TCP 연결은 기본적으로 1:1 연결이지만 대기 수는 정의할 수 있음
- accept()는 전화를 받을 수 있는 상태
- read()는 수신된 데이터를 읽는 역할
- write()는 송신할 데이터
- 주로 수정하는 부분은 read()/write()
3. 기본 Server 코드
- 기본 Server 코드를 활용하여 응용할 수 있음
- 19번째 줄에 문자형 변수는 변형이 가능
- TCP 통신을 하고 싶으면 26번째 줄에서 SOCK_STREAM 을 사용하고
UDP 통신을 하고 싶으면 26번째 줄에서 SOCK_DGRAM을 사용
* 코드 참고(깃허브) : https://github.com/Byungeun/basic_server
4. 기본 Client 코드
* 코드 참고(깃허브) : https://github.com/Byungeun/basic_client
5. 느낀점 : 통신 흐름을 잘 이해하면 기본 코드를 사용하여 다양한 기능의 서버를 구축할 수 있음
'C언어' 카테고리의 다른 글
파일 전송 서버/클라이언트 만들기 실습 (2) | 2024.10.11 |
---|---|
간단한 파일 복사 유틸리티 구현 (0) | 2024.10.10 |
C언어 연산자 (0) | 2024.10.08 |
C언어 문자열 저장 (2) (1) | 2024.10.08 |
C언어 문자열 저장 (포인터, 배열 포함) (0) | 2024.10.08 |