加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

NetworkStream,是否有类似于SerialPort的DataReceived? (C#)

发布时间:2020-12-15 08:15:29 所属栏目:百科 来源:网络整理
导读:好的,所以我有点困惑,为什么我无法在任何地方找到它,或者如果它不存在那么为什么微软没有实现呢? 所以这是我的场景,我有一个NetworkStream,它有一个名为DataAvailable的可爱的小布尔,我需要的是一个事件,跳出来说“嘿,有数据可供你使用
好的,所以我有点困惑,为什么我无法在任何地方找到它,或者如果它不存在那么为什么微软没有实现呢?

所以这是我的场景,我有一个NetworkStream,它有一个名为DataAvailable的可爱的小布尔,我需要的是一个事件,跳出来说“嘿,有数据可供你使用!” (因为我很懒,而且我宁愿被告知有数据可用,而不是继续问“好吧,有没有可用的数据?”一遍又一遍,直到我收到回复“实际上,这次有”).

类似于SerialPort(它有一个很好的事件(DataReceived),它通知我从端口接收数据)会很不错.但我正在使用带有NetworkStream的Socket.

如果有一些显而易见的东西我错过了,请指出正确的方向,但如果没有,这是否意味着我将不得不在DataAvailable属性上使用一些数据绑定,当它设置为true时,调用我的拥有’自制’活动/功能?如果这样的话,请你给我一个小例子让球滚动?

编辑
我的完美答案是有人来和我解释如何找到/创建与SerialPort使用的DataReceived事件非常相似的东西,但是为通过NetworkStream流式传输的Socket实现了!

再次感谢,谢谢.

解决方法

NetworkStream类( see MSDN)中没有事件. NetworkStream继承自Stream,因此它遵循流模型,而不是基于事件.如果需要异步接收数据,请使用BeginRead方法

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读