일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- HTTP
- 수학
- HTTP 완벽 가이드
- 그래프
- 소켓
- 레벨 1
- typescript
- ip
- TCP
- BFS
- dfs
- 타입스크립트
- 프로그래머스
- 타입 챌린지
- type challenge
- javascript
- socket
- 프로그래머스 레벨 2
- 백준
- 알고리즘
- Crawling
- Node.js
- 크롤링
- 문자열
- dp
- 가천대
- 쉬운 문제
- Algorithm
- Nestjs
- Today
- Total
목록프로그래밍 (3)
kakasoo
음, 해보다 안 것인데, server 하나에 client 여러 개를 연결할 수가 없다. 이게 아마, 프로세스와 스레드가 필요한 영역. 문제가 된 요소를 몇 개 발견했는데, client 2개가 있다고 하자, 하나는 A, 하나는 B라고 명명할 때 A를 서버에 연결했다. 이 상태로 연결이 잘 되고 있다고 할 때, B도 서버에 연결해보았다, 그런데 B는 전혀 동작하지 않는다. 이 서버는 동시성이 없기 때문이다. 그런데 B에서 메세지를 보낸다, 당연히 처리되지 않는다. A에서 서버와 연결을 종료한다, 그럼 B에서 동작해야 할 거 같지만, 앞서 B가 보낸 메세지는 씹혔다, 서버는 계속 B의 메세지를 기다리고 있는데 B는 이미 다음 단계로 넘어가서 메세지를 보낼 수가 없다. 동시성만이 이 문제를 해결할 수 있는 듯 ..

오늘은 여기까지... LINK 계층부터 차례대로 올라가면서 이야기를 해보도록 하자. LINK 계층은, 물리적인 영역의 표준화에 대한 결과라고 한다, 이는 가장 기본이 되는 LAN,WAN,MAN 을 의미한다. 우리가 랜선 랜선 하는 그 랜, 즉 물리적인, 소프트웨어가 아닌, 하드웨어적인 연결을 의미한다. (꼭 하드웨어라고 할 수는 없겠다, 노트북은 무선으로도 망에 연결되어 사용되긴 하니까, 어쨌든 망을 의미한다.) 망이 연결되었다면, 이제 우리는 IP 계층에 접근할 수 있다. IP 계층에서 우리는 이제 데이터를 송신할 수 있게 된다, 그런데 우리가 앞서 서버와 클라이언트 소켓을 만들며 경험했던 것과 같이, 해야 할 작업들이 있다. IP에서 세부적인 프로토콜을 정해줄 필요가 있다, 이 과정에서 우리는 IPv..
주소정보의 표현 1 2 3 4 5 6 7 8 9 10 struct in_addr{ in_addr_t s_addr; // 32bit IPv4 인터넷 }; struct sockaddr_in{ sa_family_t sin_family; // 주소체계(address Family) uint16_t sin_port; // 16비트 TCP/UDP PORT 번호 struct in_addr sin_addr; // 32bit IP 주소 char sin_zero[8] // 사용되지 않음 }; Colored by Color Scripter cs 어떤 주소 체계를 사용하는가 -> IPv4 IP 주소는 무엇인가 -> xxx.xxx.xxx.xxx (자신의 IP, 또는 연결하고자 하는 IP를 말해야 한다.) 포트 번호는 무엇인가 -..