3

私は.net 4.5より前にこのコードを持っていました

_Connection = new TcpClient(hostname, port);
_Stream = _Connection.GetStream();

Windows 8 アプリの場合、次のように変更しました。

_Connection = new StreamSocket();
await _Connection.ConnectAsync(new HostName(hostname), port.ToString());
_DataReader = _Connection.InputStream.AsStreamForRead();
_DataWriter = _Connection.OutputStream.AsStreamForWrite();

Streamデータの読み取り/書き込みにまだ使用しているため、基になるコードを他の場所で変更する必要がないため、これが最も簡単なソリューションであると考えました。

ただし、このコードは期待どおりに機能しません。ストリームに正常に書き込むことができますが、ストリームを読み取るときに取得し続けます'\n'-これは、予想される応答とはかけ離れています。

4

1 に答える 1

3

これに対する解決策を見つけました。誰かがそれが役に立つと思うことを願っています。

私がする必要があるのは、ストリームをフラッシュすることだけでした_DataWriter(これは、ストリームに何かが書き込まれるたびに実行する必要があります)。その後、_DataReaderストリームは期待どおりに機能し始めました。

于 2013-01-08T07:16:25.897 に答える