| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- DP
- Trie
- Two Points
- binary search
- two pointer
- Dijkstra
- String
- 그래프
- SQL
- 이진탐색
- Stored Procedure
- Brute Force
- union find
- Hash
- 스토어드 프로시저
- MYSQL
- 다익스트라
- Today
- Total
목록전체 글 (425)
codingfarm
수신 대기열의 가장 앞에 있는 연결 요청을 가져온다. 연결 요청을 성공적으로 가져오면 클라이언트와의 통신을 위한 연결 소켓을 생성한다. accept 함수의 원형은 아래와 같다 1 int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen); cs 매개변수 sockfd : socket 함수 호출시 반환된 소켓 식별 번호 addr : accept 함수 성공시, 연결된 client의 주소와 포트 정보가 담기는 구조체 addrlen : sockaddr 구조체의 크기 반환값 0 이상 : 성공, 소켓 지정 번호 -1 : 실패 함수자체의 컨셉은 bind 함수와 유사하다. 반환값은 socket 함수로 만든 듣기 소켓과는 전혀 다른 별개의 소켓이다. 듣기 소켓 :..
학습 목표 listen 함수의 사용법에 대해 배운다 클라이언트 요청에 대한 처리가 끝나기 전에 새로운 클라이언트가 요청하는 상황이 온다면, 해당 요청을 잠시동안 대기시키기 위한 대기열을 만들 필요가 있다. 이 대기열을 생성하기 위해 listen 함수가 쓰인다 수신대기열은 queue와 같은 FIFO 형태의 자료구조이다. 파란색과 초로색의 클라이언트가 서버측에 연결을 요청하면, 이 요청은 대기열에 들어가게 되며 먼저 요청이 들어간 파란색이 먼저 출력됨을 볼 수 있다. listen 함수의 원형은 아래와 같다. 1 int listen(int sockfd, int backlog); cs 매개변수 sockfd : socket 함수로 만들어진 소켓 지정 번호 backlog : 수신대기열의 크기 반환값 0 : 성공 -..
학습 목표 bind 함수로 소켓을 설정하는 방법을 배운다 socket 함수로 특정 도메인과 타입, 프로토콜에 맞는 소켓을 생성하고 나면, bind 함수로 소켓에 IP와 포트를 할당한다. server : bind 함수를 통해 소켓에 IP와 포트를 할당함 client : 연결할 인터넷 서비스(server)의 포트만 알면 됨 (자신의 포트는 몰라도 됨) bind 함수의 원형 int bind( SOCKET sockfd, const sockaddr *my_addr, int namelen ); cs 함수의 매개변수 sockfd : 앞서 socket 함수로 생성된 endpoint 소켓의 식별 번호 my_addr : IP 주소와 port 번호를 저장하기 위한 변수가 있는 구조체 namelen : 두 번째 인자의 데이터..
학습 목표 socket 함수를 이용하여 소켓을 생성하는 방법을 터득 앞서 일반적으로 소켓통신에서는 버클리 소켓을 사용한다고 앞서 설명했다. 하지만 이 버클리 소켓은 windows와 linux OS에서 각기 다른 헤더파일에 존재한다. windows : winsock2.h linux : sys/socket.h docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-socket int socket(int domain, int type, int protocol); cs endpoint 소켓 socket 함수에 의해 생성되는 종점 소켓 서버와 클라이언트의 연결을 받기 위함 2가지 용도로 쓰임 client : 연결 요청 server : (client의 요청..