우선, 잘못된 용어 사용에 대해 사과드립니다.UDPClient로 특정 포트 수신 및 전송 된 패킷 가져 오기
로컬 네트워크에 센서가 있습니다. 현재 온도 값을 포트 35333의 네트워크에있는 모든 사용자에게 브로드 캐스트합니다.이 센서에서 지속적으로 패킷을받는 C# 콘솔 프로그램을 만들고 싶습니다.
이 내 현재 코드입니다 :하지만 여기, 위의
public static UdpClient Client = new UdpClient(35333);
private static async void Start()
{
Client.BeginReceive(new AsyncCallback(recv), null);
}
private static void recv(IAsyncResult res)
{
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] received = Client.EndReceive(res, ref RemoteIpEndPoint);
//Process codes
Client.BeginReceive(new AsyncCallback(recv), null);
}
코드가 작동하는 문제이다 : 나는 같은 바이트 배열을 항상 받아 계속.
...
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
[114][51][57][48][48][77][72][112]
...
는 지금까지 내가 아는 한, 다시, 그것은 나에게 ''진짜 ''데이터를 전송하기 시작, 그래서 어떻게 든,이 센서에 다시 승인을 보내야합니다, 불쌍한 내 네트워킹 지식을 변명.
모든 팁이나 제안을 환영합니다!
UDP는 sessionless 방송입니다. 이 단일 장치의 UDP 패킷을 여러 수신자에게 전달할 가능성이 있으므로 ACK는 거의 발생하지 않습니다. 장치 프로토콜 문서를 검토하고 사용 가능한 예제 코드가 있는지 확인해야합니다. – JamieMeyer