none
请教 关于DatagramSocket 的OutputStream和GetOutputStreamAsync(HostName, String) 的作用与异同 RRS feed

  • 问题

  • 各位大侠:

          DatagramSocket 有一个OutputStream的成员,用于连接了远程主机之后可以发送数据, 但是又提供了一个GetOutputStreamAsync的方法,返回的对象也是一个输出流对象。

    如果收到数据后,触发了Received事件,我们可以获取两个参数,一个是socket对象,一个是DatagramSocketMessageReceivedEventArgs对象, 该socket对象可以与远程机器进行通信,我参考了微软的sample,通过GetOutputStreamAsync(remoteHostName,remoteServiceName)获取到的IOutputStream可以实现通信,但是如果直接使用成员OutputStream,却会抛出异常。

        请问OutputStream和GetOutputStreamAsync有什么区别? 他们分别的用法是什么? 谢谢!

    2012年11月24日 10:19

答案

  • Hi,

    抱歉回复的比较迟。

    实际上这两个没有什么区别。作用都是存储用来发送的信息的。GetOutputStreamAsync()是用来发送信息的,个人认为OutputStream应该用来存储发送出去的信息,错误的原因可能是因为OutputStream是只读的,你可能是对它进行修改了。


    Aaron Xue [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年11月29日 7:43
    版主

全部回复

  • Hi,

    抱歉回复的比较迟。

    实际上这两个没有什么区别。作用都是存储用来发送的信息的。GetOutputStreamAsync()是用来发送信息的,个人认为OutputStream应该用来存储发送出去的信息,错误的原因可能是因为OutputStream是只读的,你可能是对它进行修改了。


    Aaron Xue [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年11月29日 7:43
    版主
  • Hi,

    抱歉回复的比较迟。

    实际上这两个没有什么区别。作用都是存储用来发送的信息的。GetOutputStreamAsync()是用来发送信息的,个人认为OutputStream应该用来存储发送出去的信息,错误的原因可能是因为OutputStream是只读的,你可能是对它进行修改了。


    Aaron Xue [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    谢谢,现在思路比较明确了, 我回去再研究一下~~!
    2012年12月3日 8:46