TCP 소켓에 16 진수 문자열을 보내려고합니다. 이 문자열의 형식이나 변환에 몇 가지 문제가 있습니다. 왜냐하면 어떤 형식을 사용하는지 잘 모르겠습니다.C# TCP 소켓에 16 진 문자열 보내기
소켓 클래스를 기반으로 잘 작동하는 WindowsPhone 앱을 작성했습니다. 이 앱은 데스크톱 프로그램에서 웹 서비스를 호스팅하는 기기로 전송되는 요청을 에뮬레이트합니다.
비아 wireshark를 통해, 나는 webservice가 입력 스트림을 받아 들일 것이며 (16 진수로 생각 함) 2를 반환한다는 것을 알았습니다. 필요한 데이터가 들어있는 16 진수 스트림.
그래서 데스크톱 응용 프로그램은 스트림 을 전송하고 Wireshark를 보여줍니다 때데이터 (8 바이트) 데이터 : 62ff03fff00574600 길이 :이 스트림을 재생하기 위해 많이 노력했습니다 이제 8
. 나는 UTF8 문자열이었고이 스트림을이 형식으로 변환했습니다. 하지만 내가 보낼 때마다, 다음 출력을 Wireshark에서 볼 수 있습니다. 62c3bf03c3bf00574600
나는 62 = b를 조사했지만 ff는 항상 c3bf를 보냈습니다.
누군가이 스트림을 올바른 형식으로 보내는 방법을 알고 있습니까?
건배, 조
데이터를 보내는 방법과 방법, 응답으로 얻고 자하는 것, 결과물을 나타내는 코드 표현을 보여줄 수 있습니까? – Rezoan
코드는 여기의 M $ 샘플과 거의 똑같습니다.[링크] (http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202858 (v = v105) .aspx) – user2828101
데이터를 16 진수로 변환 한 후 다음과 같이 사용했습니다. 문자열 : bÿÿ 따라서 formating이 작동하는 것처럼 보입니다. 그렇다면 ... result = client.Send (sendString); 여기서 sendString은 비어 있습니다. 이 예제의 send 메서드는 string에서 payload로 copnversion을 수행합니다. 여기서 payload는 바이트 배열입니다 (byte [] payload = Encoding.UTF8.GetBytes (data)). 그러면 소켓 연결을 통해 장치로 전송됩니다. 그러나 문제는 wireshark에서 데이터를 분석 할 때 이러한 0x00ff가 ÿ으로 변환되지 않고 c3bf로 변환된다는 것입니다. 어떤 생각? – user2828101