apple-mint.log
로그인
apple-mint.log
로그인
241212 CS 스터디
apple-mint
·
2024년 12월 12일
팔로우
1
CS study
목록 보기
14/15
소켓 프로그래밍
(1) 소켓=네트워크 소켓
프로세스가 주고받는 데이터의 종착점
프로세스 간 네트워크 통신의 엔드포인트
프로세스가 소켓을 열고 읽고 쓸 수 있으므로 많은 운영체제에서 파일로 간주됨
소켓 디스크립터로 소켓을 식별하고 이를 통해 소켓 입출력 기능 구현
(2) 소켓 통신
HTTP 통신은 기본적으로 요청과 응답으로 이루어짐
클라이언트에 송수신을 시작하며 송수신이 끝나면 연결이 끝나므로 정보 전달이 다수 발생할 경우 연결을 생성하고 해제하는 과정을 반복해야 함
소켓을 활용해 클라이언트, 서버가 특정한 포트를 통해 실시간으로 양방향 통신이 가능하게 함으로써 위와 같은 단점을 보완함
채팅, 온라인 게임과 같이 지속적이고 반복적인 통신을 보다 적은 자원으로 가능하게 만듦
서버에서도 클라이언트 방향으로 먼저 정보를 제공할 수 있어 클라이언트와 무관하게 발생하는 이벤트에 대한 정보를 정확한 시점에 전달하는 것이 가능
socket()
으로 소켓 생성
bind()
으로 소켓을 해당하는 IP주소, 포트에 연결
listen()
으로 클라이언트 요청을 받을 수 있도록 연결 대기
connect()
로 연결 요청
accept()
로 연결 수립 시 소켓 객체와 클라이언트 주소 반환
send()
,
recv()
로 데이터 송수신
close()
으로 소켓 종료
참고
소켓이란? 종류, 통신 흐름, HTTP통신과의 차이
소켓 통신, Socket.IO
[CS] 그림으로 알아보는 네트워크 - 소켓 프로그래밍과 Handshaking
apple-mint
팔로우
이전 포스트
241202 CS 스터디
다음 포스트
241222 CS 스터디
0개의 댓글
댓글 작성