'.Net 교육/Network Programming'에 해당되는 글 3건

  1. 2021.04.22 [C++] 로컬 호스트 IP주소 얻어오기
  2. 2021.04.22 [C++] IPv4 주소
  3. 2021.04.22 [C++] WinSock 초기화

 

#include <stdio.h>
#include <WinSock2.h>
#pragma comment(lib,"ws2_32")  //윈속 사용 라이브러리
#pragma warning(disable : 4996)
//IPv4 주소 : 4바이트
int main()
{
	WSADATA wsadata;
	WSAStartup(MAKEWORD(2, 2)/*0x0202*/, &wsadata);

	char hname[256];
	gethostname(hname, 256);
	printf("내 컴퓨터 이름 :%s\n", hname);
	hostent* hent = gethostbyname(hname);
	while(hent->h_name)
	{
		if (hent->h_addrtype == AF_INET)
		{
			IN_ADDR addr;
			memcpy(&addr, hent->h_addr_list[0], sizeof(IN_ADDR));
			printf("%s\n", inet_ntoa(addr));
		
		}
		hent++;
	}

	WSACleanup();
	return 0;
}

'.Net 교육 > Network Programming' 카테고리의 다른 글

[C++] IPv4 주소  (0) 2021.04.22
[C++] WinSock 초기화  (0) 2021.04.22
Posted by pi92
#include <stdio.h>
#include <WinSock2.h>
#pragma comment(lib,"ws2_32")  //윈속 사용 라이브러리
#pragma warning(disable : 4996)
//IPv4 주소 : 4바이트
int main()
{
	WSADATA wsadata;
	WSAStartup(MAKEWORD(2, 2)/*0x0202*/, &wsadata);
	
	//주소 패밀리에 관계 없이 사용하기 위한 형식 SOCKADDR
	SOCKADDR_IN addr = { 0 };  // 초기화 sin_zero 는 초기화 코드
	//memset(&addr,sizeof(addr));  //쓰레기값 0으로 초기화
	addr.sin_family = AF_INET;  //IPv4에 대한걸 사용하겠다;
	addr.sin_port = htons(10200);  //포트 번호를 네트워크로 바꿔줘야 제대로 작동  1024보다 큰 숫자 사용 권함
	// memset(addr.sin_zero, 0, sizeof(addr.sin_zero));
	addr.sin_addr.s_addr = inet_addr("192.68.34.50");

	const char* str = inet_ntoa(addr.sin_addr);
	printf("%#x:%s\n" , addr.sin_addr, str);

	WSACleanup();
	return 0;
}

 

16진수 to 10진수로 바꾸면

32 = 50

22 = 34

44 = 68

c0 = 192

이므로 뒤에서부터 읽어지는걸 볼 수 있다.

'.Net 교육 > Network Programming' 카테고리의 다른 글

[C++] 로컬 호스트 IP주소 얻어오기  (0) 2021.04.22
[C++] WinSock 초기화  (0) 2021.04.22
Posted by pi92
#include <stdio.h>
#include <WinSock2.h>
#pragma comment(lib,"ws2_32")  //윈속 사용 라이브러리
int main()
{
	WSADATA wsadata;
	WSAStartup(MAKEWORD(2, 2)/*0x0202*/, &wsadata);
	//윈속 라이브러리 사용
	printf("MAXSockets:%d\n", wsadata.iMaxSockets);
	printf("MAXUDP Diagram:%d\n", wsadata.iMaxUdpDg);	
	//printf("Vendor:%s\n",wsadata.lpVendorInfo);
	printf("Description:%s\n",wsadata.szDescription);
	printf("SystemStatus:%s\n",wsadata.szSystemStatus);
	printf("HighVersion:%x\n",wsadata.wHighVersion);
	printf("Version:%x\n",wsadata.wVersion);


	WSACleanup();
	return 0;
}

결과

'.Net 교육 > Network Programming' 카테고리의 다른 글

[C++] 로컬 호스트 IP주소 얻어오기  (0) 2021.04.22
[C++] IPv4 주소  (0) 2021.04.22
Posted by pi92
이전버튼 1 이전버튼

블로그 이미지
pi92

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
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

최근에 올라온 글

최근에 달린 댓글

글 보관함