c# udp 예제

UDP 및 네트워킹을 사용하는 방법을 알아내기 위해 몇 가지 예제 코드를 발견하고 단순화하고 더 단순화했습니다. 아래 두 가지 예는 발화자와 청취자입니다. 이를 사용하려면 C# Express 내에서 콘솔 응용 프로그램을 만들고 여기에서 코드를 붙여넣고 Express가 만드는 초기 코드를 대체합니다. 그것을 구축하고 실행합니다. 발화자와 청취자를 동시에 실행합니다. 동일한 LAN에 있는 여러 컴퓨터에서 둘 다 실행합니다. 보낸 각 메시지는 모든 컴퓨터의 모든 수신기 프로그램에서 수신해야 합니다. 관련 게시물에 언급 된 대로 내 컴퓨터 중 하나에 문제가 있지만이 두 프로그램의 결함이 아니라고 합리적으로 확신합니다. 다음 예제는 포트 11000에서 호스트 이름 www.contoso.com 사용하여 UdpClient 연결을 설정합니다. 작은 문자열 메시지가 두 개의 별도 원격 호스트 컴퓨터로 전송됩니다. Receive 메서드는 메시지가 수신될 때까지 실행을 차단합니다. 수신에 전달된 IPEndPoint를 사용하여 응답 호스트의 ID가 공개됩니다.

다시 할당 groupEP 당신이 에 뭔가를받은 주소에 있었다 무엇에서. 이 방법을 사용하여 Unity에서 게임 인스턴스 간의 P2P 연결과 외부 서버에 의한 연결 모두에서 작동하는 네트워킹 시스템을 만들 수 있었습니다. 기본 원격 호스트를 이미 지정한 경우 호스트 이름 또는 IPEndPoint를 사용하여 Send를 호출하지 마십시오. 이렇게 하면 UdpClient가 예외를 throw합니다. 이전에 만든 Protocol.cs 파일을 찾아서 찾습니다. 파일을 선택하고 추가를 클릭합니다. 기본은 여기에 있지만 나는 의견의 일부에 동의하지 않습니다. `일반 텍스트` 이외의 것을 보내면 프로그램이 `충돌및 연소`될 것이라고 말한 것은 데이터 유형에 대한 지식에 의문을 제기해야 한다는 것을 의미합니다. 정말, 일반 텍스트는 바이트의 문자열이기 때문에 아무것도 `일반 텍스트`로 표현 될 수 있습니다. 숫자, 그림, 사운드는 모두 바이트 의 모음이며 네트워크를 통해 전송할 수 있습니다. (UDP (사용자 데이터 그램 프로토콜)를 사용하는 것이 배달을 보장하지 않으며 중복 및 혼잡 제어를 확인하고 질문에 대답할 수 있다는 것을 알고 있다고 가정합니다. 나는이 짧은 유지하려고합니다, 나는 내가 구축하려고하는 게임에 대해 몇 달 전에이 작업을 수행했습니다, 그것은 TCP처럼 작동하는 UDP „클라이언트 서버”연결을 수행, 당신은 (메시지) (메시지 + 개체)를 보낼 수 있습니다.

나는 그것으로 몇 가지 테스트를 했고 그것은 잘 작동, 필요한 경우 그것을 수정 주시기 바랍니다. 원래는 어딘가에 발견하고 다시 찾을 수없는 일부 마이크로 소프트 익스프레스 도움말 파일에서 왔다. 화려하게 들릴 지 모르지만, 나는 저작권을 보유하거나 주장하지 않으며 누구와 도모두에게 사용을 제공합니다. 나는 이것을 말할 필요가 있습니까? 독자들은 이것이 쉽게 접근 할 수있는 어딘가에 두는 가치가 있다고 생각합니까? 누구든지 개선을위한 의견이 있습니까?