c++ winsock 예제

이것은 Windows에서 C 언어로 소켓 프로그래밍을 학습하는 빠른 가이드 / 튜토리얼입니다. 여기에 표시된 코드 조각이 Windows에서만 작동하기 때문에 “Windows”입니다. 소켓 프로그래밍에 대한 창 API를 winsock이라고 합니다. 이 예제에서는 서버에 연결하고 메시지를 보낸 다음 즉시 연결을 끊는 클라이언트를 만들려고 합니다. 서버는 포트 5555에서 내 네트워크의 컴퓨터에서 실행되고 서버로 전송된 모든 메시지가 표시됩니다. 서버 로컬 IP는 192.168.0.8이며 클라이언트가 네트워크에 도 있으므로 포트 5555에서 ip 192.168.0.8에 연결됩니다. 뛰어난 작업! 당신은 내 목숨을 구했다, 지금은 winsock 마스터, 감사합니다! 함수 recv는 소켓에서 데이터를 수신하는 데 사용됩니다. 다음 예제에서는 마지막 예제와 동일한 메시지를 보내고 서버로부터 회신을 수신합니다. winsock2.h winsock 함수에 포함 될 헤더 파일입니다. ws2_32.lib는 winsock 함수를 사용할 수 있도록 프로그램과 연결될 라이브러리 파일입니다. 위의 예제에서는 먼저 IP 주소에 연결한 다음 문자열 메시지 “GET / HTTP/1.1nnn”을 보냅니다.

메시지는 실제로 웹 사이트의 메인 페이지를 가져오는 http 명령입니다. 소켓은 컴퓨터에서 수행하는 모든 종류의 네트워크 통신 뒤에 있는 기본적인 “사물”입니다. 예를 들어 웹 브라우저에서 www.google.com 입력하면 소켓이 열리고 google.com 연결하여 페이지를 가져와서 표시합니다. gtalk 또는 스카이프와 같은 모든 채팅 클라이언트와 동일합니다. 모든 네트워크 통신은 소켓을 거칩니다. 네트워킹은 win32asm에 국한된 주제일 뿐만 아니라 (다행히도 :) 그리고 튜터의 대부분은 또한 다른 프로그래밍 언어에 적용 할 수 있습니다, 나는 독자에게 win32asm과 C ++사이에서 선택할 수있는 옵션을 제공하기로 결정했습니다. 튜터의 대부분은 두 언어모두 동일하지만 코드 샘플과 설명은 선택한 언어로 되어 있습니다. Win32asm은 평소와 같이 MASM 특정될 것이며, 다른 어셈블러 의 사용자는 쉽게 변환 할 수 있어야합니다. 원래 내 의도는 일반 바닐라 C 버전을 만드는 것이었지만 C ++로 전환했습니다.