"WinRT"앱 (Windows 8 용 "Metro"스타일 앱) 개발을 시작했습니다. 앱은 TCP 스트림을 통해 일부 데이터를 읽고 씁니다. 독서는 잘되지만 작문은 효과가 없습니다. 당신이 (작동) 전체 .NET Framework를 사용하는 코드를 찾을 수 아래 : 비교TCP 스트림에 WinRT 쓰기가 작동하지 않습니다.
var client = new TcpClient();
client.Connect(IPAddress.Parse("192.168.178.51"), 60128);
var stream = client.GetStream();
var writer = new StreamWriter(stream);
writer.WriteLine("ISCP\0\0\0\x10\0\0\0.....");
writer.Flush();
다음 코드는 작동하지 않습니다
var tcpClient = new StreamSocket();
await tcpClient.ConnectAsync(new HostName("192.168.178.51"), "60128");
var writer = new DataWriter(_tcpClient.OutputStream);
writer.WriteString("ISCP\0\0\0\x10\0\0\0....");
writer.FlushAsync();
WriteString 문자열의 정확한 길이를 반환합니다 (25), 다른 쪽 끝은 올바른 명령을받지 못합니다. Via Wireshark 또한 전체 .NET 버전에 대한 올바른 패키지를 볼 수 있지만 WinRT 버전에는 맞지 않습니다.
해결 방법?
.NET 버전 :
WinRT 버전 : writer.WriteString() 실제로에 지금 날짜를 저지 할 필요에 전화 후
동일한 작업을 동 기적으로 수행하면 어떻게됩니까? –
WinRT가 동기 인터페이스를 제공하지 않습니다 - async가 유일한 방법입니다;) – ollifant
StreamSocket 샘플을 보았습니까? –