1. 클라이언트와 서버
- 클라이언트 --------------------> 서버
// 연결 요청(소켓 API함수를 호출 -> 서버 프로그램에 연결 요청)
- 서버 -------------------> 클라이언트
// 문자열 전송(요청 받은 서버는 연결되자마자 문자열을 클라이언트에게 전송)
- 클라이언트 --------------------> 서버
// 화면 출력(클라이언트는 전송받은 문자열을 자신의 화면에 출력)
2. 소켓 프로그래밍(Server) 관련 함수
처리과정 |
관련 함수 |
비유 |
소켓을 생성 |
socket() |
전화기 준비 |
연결 요청을 수신할 주소 설정 |
|
회사 대표전화와 내선 번호 준비 |
소켓을 포트에 연결 |
bind() |
전화기를 준비한 내선에 연결 |
커널에 개통 요청 |
listen() |
전화국에 개통 요청 |
연결 요청을 수신 (기다림) |
accept() |
전화를 기다리다가 전화가 오면 받음 |
클라이언트에게 서비스를 제공 |
read() / write() |
전화 통화 |
클라이언트와의 연결 종료 |
close() |
전화 끊기 |
3. telnet 연결
$ telnet host [포트번호]
- 포트번호 : 기본값은 23번
(그러나 대부분 보안상 23번 포트 연결을 허용안됨. 따라서 지정해줘야함. 보편적으로 9000번이나 9080번을 사용.)
- 자기자신
$telnet 127.0.0.1 또는 $telnet localhost
'웹소켓' 카테고리의 다른 글
hello_client.c (0) | 2018.11.01 |
---|---|
hello_server.c (0) | 2018.10.31 |