Llo*_*ell 6 .net c# sockets serial-port networkstream
好的,所以我有点困惑,为什么我无法在任何地方找到它,或者如果它不存在那么为什么微软没有实现呢?
所以这是我的场景,我有一个NetworkStream,它有一个名为DataAvailable的可爱的小布尔,我需要的是一个事件,跳出来说"嘿,有数据可供你使用!" (因为我很懒,而且我宁愿被告知有数据可用,而不是继续问"好吧,有没有可用的数据?"一遍又一遍,直到我收到回复"实际上,这次有").
类似于SerialPort(它有一个很好的事件(DataReceived),它通知我从端口接收数据)会很不错.但我正在使用带有NetworkStream的Socket.
如果有一些显而易见的东西我错过了,请指出正确的方向,但如果没有,这是否意味着我将不得不在DataAvailable属性上使用一些数据绑定,当它设置为true时,调用我的拥有'自制'活动/功能?如果这样的话,请你给我一个小例子让球滚动?
编辑
我的完美答案是有人来和我解释如何找到/创建与SerialPort一起使用的DataReceived事件非常相似的东西,但是为通过NetworkStream流式传输的Socket实现了!
再次感谢,谢谢.
只是为了澄清托马斯的答案,并解释任何不熟悉BeginRead方法的人并且想要理解这个问题的答案,你可以打电话:
AsyncCallBack MyCallBack = new AsynCallBack(DataReceived);
networkStream.BeginRead(buffer, offset, size, MyCallBack, MyObject);
Run Code Online (Sandbox Code Playgroud)
然后创建DataReceived函数:
private void DataReceived(IAsynResult result)
{
//call receive functionality
}
Run Code Online (Sandbox Code Playgroud)
这将调用DataReceived与SerialPort.DataReceived事件的工作方式非常相似.
| 归档时间: |
|
| 查看次数: |
5164 次 |
| 最近记录: |