C#networkstream.beginread与endread的问题

初学C#,这两个怎么用不晓得,哪位有空帮我讲解讲解,最好能贴段小代码给我看看,beginread与endread要成对出现吗?MSDN看懂!... 初学C#,这两个怎么用不晓得,哪位有空帮我讲解讲解,最好能贴段小代码给我看看,beginread与endread要成对出现吗?MSDN看懂! 展开
 我来答
miniappe8t3L68TSCbzK
推荐于2018-05-09 · TA获得超过556个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:218万
展开全部
MSDN看懂?都有明确的解释的。

这是.net中所有异步访问的标准接口,比如读写文件、网络、委托回调等。

异步访问一般用于读写时间较长的操作,顾名思义,BeginRead()就是开始读,并立即返回,不会等待执行完。这个函数的最后两个参数比较特殊,是专用于异步的,一个是AsyncCallback ,它是个委托,用于回调异步调用结束后的自定义函数,另一个是Object,用于传递需要的参数给你的自定义函数的,一般在你的自定义函数中再调用EndRead(),用于获取异步访问结束后的返回值。

e.g:

IAsyncResult result = myNetworkStream.BeginRead(myReadBuffer, 0, myReadBuffer.Length,
new AsyncCallback(NetworkStream_ASync_Send_Receive.myReadCallBack),
myNetworkStream);
//这个返回值result 可以用来控制对异步线程的同步

public void myReadCallBack(IAsyncResult ar)
{
NetwordStream ns = (NetwordStream)ar.AsyncState;
int numberOfBytesRead = ns.EndRead(ar);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式