简单的C#Metro StreamSocket示例

时间:2012-03-15 09:30:46

标签: c# sockets microsoft-metro

我发布这个是因为我已经浪费了一天时间来搜索和编写一个即使在Metro中也应该很容易设置的东西。

我正在寻找一个C#StreamSocket示例,它可以连接到套接字,从套接字读取数据(我不知道数据何时到达,所以我总是想要监听新数据)并将数据写入它在任意时间。这在每个编程语言框架(包括.NET)中都很容易实现,但是我不能在没有异常的情况下在Metro中执行此操作(ObjectDisposedExceptions在尝试写入时同时等待传入数据。)< / p>

Metro给出的示例太简单了,因为他们确切知道何时轮询数据。这个简单的任务应该是可能的!

1 个答案:

答案 0 :(得分:1)

如果在传入的StreamSocket上设置DataReader,则可以将其InputStreamOptions设置为InputStreamOptions.Partial。这将允许您在数据到达时读取数据并动态决定如何处理数据。

var dr = new DataReader(socket.InputStream);
dr.InputStreamOptions = InputStreamOptions.Partial;
var stringHeader = await dr.LoadAsync(512);

这篇文章还提到了它http://babaandthepigman.wordpress.com/2012/04/07/streamsocket-example-c-metro/