winsock udp 예제

이 문서에서는 서버와 클라이언트를 만들어 매우 간단한 UDP 소켓 프로그래밍을 수행 하려고 합니다. 우리는 윈도우 플랫폼과 창에 소켓 APIwinsock라고이 작업을 수행한다. 코딩에 대 한 VC ++ 6.0 또는 2010 익스프레스 에디션을 사용 하 여 권장 무료 이며 microsoft.com 좋은 예에서 다운로드할 수 있습니다! 그것은 간단하고 즉시 작동! 다음 콘솔 출력은 Visual C++ 6.0을 사용하고 공용 IP를 사용하여 다시 컴파일된 이전 클라이언트-서버 프로그램 예제입니다. 서버: mywinsock: 나는 듣고 기다리고 있습니다 연결 select() 기능을 사용하는 작업 프로그램 예제의 샘플은 아래에 제공됩니다. 프로젝트 이름은 UDPServerVer2입니다. Windows CE는 콘솔 응용 프로그램을 지원하지 않으며 UNICODE만 사용합니다. 이 예제의 목적은 Winsock과 관련이 없는 코드를 무단으로 이동하지 않고도 Winsock의 핵심 개념을 가르치는 것입니다. Windows CE용 서비스를 작성하지 않는 한 사용자 인터페이스는 거의 항상 필요합니다. 이렇게 하려면 창 처리기 및 기타 사용자 인터페이스 요소에 대 한 많은 추가 함수를 작성 해야 합니다., 우리가 가르치려는 난독 화 수 있습니다. 또한, 유니코드 대 비 유니코드 Winsock 기능의 딜레마가있다.

송수신 Winsock 함수에 전달된 문자열이 UNICODE 또는 ANSI 문자열인지는 프로그래머가 결정해야 합니다. Winsock은 유효한 버퍼인 한 전달하는 내용을 신경 쓰지 않습니다. 물론 컴파일러 경고를 무분별하게 하기 위해 버퍼를 입력해야 할 수도 있습니다. UNICODE 문자열을 char*로 캐스팅하는 경우 보낼 바이트 수에 대한 길이 매개 변수를 적절하게 조정해야 한다는 점을 잊지 마십시오. Windows CE에서 전송되거나 수신된 데이터를 표시하려면 다른 모든 Windows 시스템 함수에 UNICODE 문자열이 필요하므로 데이터를 표시할 수 있도록 유니코드인지 여부를 고려해야 합니다. 요약하면, 윈도우 CE는 간단한 Winsock 응용 프로그램을 만들기 위해 더 많은 하우스 키핑이 필요합니다. 따라서 UDP 소켓과의 통신은 매우 간단합니다. 따라서 UDP 소켓은 통신 자체가 매우 간단한 경우(예: dns 요청/응답 등)에 사용됩니다. 또는 멀티 캐스트 / 브로드 캐스트의 일종을 할 때. 데이터가 전송되지 않거나 패킷을 다시 전송하는 데 실패하면 큰 문제가되지 않는 경우 UDP를 사용할 수 있습니다. 또한 WSAAsyncSelect() 및 WSAEventSelect()를 사용할 때 공유 소켓에 대한 알림과 관련된 몇 가지 문제에 유의하십시오. 공유 설명자 중 하나를 사용하여 이러한 호출을 실행하면 해당 등록에 사용된 설명자가 무엇이든 관계없이 소켓에 대한 이전 이벤트 등록이 취소됩니다.

©2019 DemiJohn

Log in with your credentials

Forgot your details?