【问题标题】:c# .net Windows 8 App TcpClient code port to StreamSocketc# .net Windows 8 App TcpClient 代码端口到 StreamSocket
【发布时间】:2012-12-20 23:44:46
【问题描述】:

我在 .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' - 这与我的预期响应相差甚远。

【问题讨论】:

    标签: c# windows microsoft-metro .net-4.5 stream-socket-client


    【解决方案1】:

    找到了解决方案。希望有人觉得它有用。

    我需要做的就是刷新_DataWriter 中的流(每次向流中写入内容时都需要这样做),然后_DataReader 流开始按预期工作。

    【讨论】:

    • 您能否提供一个示例,说明您如何使用 _DataReader 读取数据。据我了解,在不知道预期数据长度的情况下,没有明显的方法可以读取数据。
    猜你喜欢
    • 2013-03-16
    • 2012-11-11
    • 1970-01-01
    • 2016-02-10
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    相关资源
    最近更新 更多