일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- 백준
- ip
- Algorithm
- Nestjs
- 프로그래머스 레벨 2
- javascript
- 소켓
- 타입 챌린지
- 가천대
- 알고리즘
- BFS
- dp
- 타입스크립트
- HTTP 완벽 가이드
- 레벨 1
- socket
- dfs
- 자바스크립트
- HTTP
- typescript
- TCP
- 문자열
- Crawling
- type challenge
- 크롤링
- Node.js
- 그래프
- 쉬운 문제
- 수학
- Today
- Total
목록socket (18)
kakasoo
주소정보의 표현 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를 말해야 한다.) 포트 번호는 무엇인가 -..
IP는 Internert Protocol의 약자로, 인터넷 상에서 데이터를 송수신할 목적으로 컴퓨터에게 부여하는 값을 의미한다. 반면 PORT 번호는 컴퓨터에게 부여하는 값이 아닌, 프로그램 상에서 생성되는 소켓을 구분하기 위해 소켓에 부여하는 번호이다. IP부터 차례대로 말하자면, IP는 앞서 말한 듯 컴퓨터에 부여하는 값, 즉 주소 값을 의미한다. 인터넷에 컴퓨터를 연결해서 사용하려면 IP 주소를 부여 받아야 하는데, 여기서 IP 주소는 몇 가지 체계로 나뉜다. 그 중 잘 쓰이는 것이 바로 IPv4인데, 사실 IPv6보다 더 낮은 version을 의미한다. IPv4 (Internet Protocol version 4) IPv6 (Internet Protocol version 6) verison으로 치..
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 #include #include #include void ErrorHandling(const char* message) { fputs(message, stderr); // buffer 문제를 없애기 위해서 stderr를 전달 => 기본출력장치(모니터), 에러 fputc('\n', stderr); } // argc == 옵션의 개수 // argv == 옵션의 값, 명칭 int main(int argc, char* argv[]) { WSA..
네트워크 프로그래밍에서 프로토콜을 빼면 할 말이 없다. - 열혈 TCP/IP 소켓 프로그래밍 나는 이 책을 보면서 공부하는 중인데, 책의 내용을 내가 이해하기 쉽게 내 언어로 정리하고 있다. 아주 좋은 책이므로, 공부하는 사람들은 직접 책을 사서 보는 것을 추천하고 싶다. (나는 서버를 만드는 중이다.) 프로토콜(Protocol)이란? 두 통신 대상 간의 통신 방법, 즉 통신 규약을 의미로, 컴퓨터에서는 "컴퓨터 상호간의 대화에 필요한 통신규약"이다. 어렵게 생각할 것 없이, 우리가 사용하는 socket() 함수 자체가 이미 프로토콜을 쓰고 있었기 때문이다. 프로토콜에는, IPv4, IPv6와 로컬 통신을 위한 유닉스 프로토콜, Low Level 소켓을 위한 프로토콜, IPX 프로토콜이 있다. 각각의 명..
윈속(윈도우 소켓)을 기반으로 하는 프로그램을 개발하기 위해서는 다음 2가지를 선행해야 한다. 1. header file로 winsock2.h 를 포함시킨다. 2. ws2_32.lib 라이브러리를 링크시켜야 한다. 해당 내용은 설정에서, 추가 종속성의 우편에 적어주면 된다. (ws2_32.lib) 이를 통해 헤더 파일로 추가하면 윈속과 관련된 함수들을 마음대로 호출할 수 있게 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include using namespace std; void ErrorHandling(const char* message) { fputs(message, stderr); // buffer 문제를 없애기 위해서 stderr를 전달 => 기본..
네트워크 프로그래밍은 운영체제와 시스템 프로그래밍에 대한 약간의 지식이 필요하다. 또한 네트워크 상의 전송규약인 TCP/IP 라는 프로토콜을 어느 정도 이해해야 한다. 네트워크와 소켓에 대한 이해 네트워트 프로그래밍은 서로 다른 두 컴퓨터가 정보를 교환할 수 있도록 하는 것을 의미한다. 이 과정에서는 물리적인 연결이 필요하고, 이 안에서 작동할 소프트웨어가 필요한데, 이 연결은 이미 다 되어 있다. 지금 존재하는 대부분의 컴퓨터들은 이미 인터넷이라고 하는 '물리적인 연결'이 되어 있는 상태기 때문에, 우리가 고민해야 할 부분은 이제 이 망에서 작동할 소프트웨어적 데이터의 송수신 방법이다. 하지만 이 방법 역시 운영체제에 상에서 소켓'Socket' 이라는 것을 제공하기 때문에 이미 해결되어 있는 상태다. ..