이것은 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 ++로 전환했습니다.