티스토리 뷰
책 ) 뇌를 자극하는 TCP/IP 소켓프로그래밍
여기서 주의할 점은 #define CLASS_MASK htonl(15<<4) 입니다.
#pragma warning(disable:4996)
#include<stdio.h>
#include<WinSock2.h>
#include<string.h>
#pragma comment(lib, "ws2_32.lib")
#define CLASS_MASK htonl(15<<4)
int main() {
char class_name[6][16] = { {"E class\0"},{"D class\0"},{"C class\0"},{"B class\0"},{"A class\0"},{"\0"} };
unsigned int laddr;
unsigned int haddr;
int i;
const char* ip = "197.167.0.1";
laddr = ::inet_addr(ip);
if (laddr == INADDR_ANY) {
printf("INADDR_ANY");
return 1;
}
else if (laddr == INADDR_ANY) {
printf("INADDR_ANY\n");
return 1;
}
haddr = ntohl(laddr);
for (i = 0; i < 5; i++) {
if (((CLASS_MASK << i) & (haddr)) == (CLASS_MASK << i))
break;
}
printf("%s -> %s\n", ip, class_name[i]);
}
'서버 공부 > 네트워크' 카테고리의 다른 글
소켓 네트워크 프로그래밍) 데이터 전송 방식 -> 가변 길이 데이터 전송 (0) | 2022.07.04 |
---|---|
소켓 네트워크 프로그래밍) 세마포어 멀티쓰레드 (0) | 2022.07.02 |
소켓 네트워크 프로그래밍) UDP 소켓 기본 통신 (0) | 2022.07.01 |
소켓 네트워크 프로그래밍) TCP/IP 구조체 데이터 전달 (0) | 2022.06.30 |
소켓 네트워크 프로그래밍) 파일 카피 (0) | 2022.06.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 고양이
- STL
- 학교
- 레지스터
- BFS
- 더블버퍼링
- 야경
- Select모델
- 컨퍼런스
- 링크드 리스트
- 보안
- c++
- 드림핵
- 알고리즘
- 정보보안
- 자료구조
- 개발
- 시스템보안
- 인제대학교
- 워셜알고리즘
- Dreamhack
- queue
- 멀티쓰레드
- 백준
- 지뢰찾기
- 스레드풀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함