首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

问一个关于socket异步传输中回调函数是如何一回事

2012-01-13 
问一个关于socket异步传输中回调函数是怎么一回事?publicstaticboolWriteDynamicTextToSocket(Sockets,str

问一个关于socket异步传输中回调函数是怎么一回事?
public   static   bool   WriteDynamicTextToSocket(Socket   s,string   strText,OnSend   OnSendText)
{
byte   []   buf   =   Encoding.UTF8.GetBytes(strText)   ;
int   iLen   =   buf.Length   ;
try
{
WriteDynamicLenToSocket(s,iLen)   ;
return   WriteBufToSocket(s,buf,0,iLen,DEALLEN,OnSendText)   ;
}
catch(Exception   err)
{
MessageBox.Show( "发送文本失败! "+err.Message)   ;
return   false   ;
}
}
public   static   bool   WriteBufToSocket(Socket   s,byte   []   buf,int   iStart,int   iCount,int   iBlock,OnSend   SendSuccess)
{     int   iSended   =   0   ;
int   iSending   =   0   ;
while(iSended <iCount)
{
if   (iSended   +   iBlock   <=   iCount)
iSending   =   iBlock   ;
else
iSending   =   iCount   -   iSended   ;
s.Send(buf,iStart+iSended,iSending,SocketFlags.None)   ;                                            
iSended   +=   iSending   ;
                      if   (ReadResponsionFromSocket(s)== "OK ")
if   (SendSuccess   !=   null)
SendSuccess(iCount,iSended)   ;
                    else
return   false;
}

                  return   true   ;                                              

}
这是一个别人写好的类
我直接调用
baseClass.CommunClass.WriteFileToSocket(socket,SendFileName,得到文本长度的回调函数)

这个不会写了

WriteFileToSocket是一个异步传送的方法,里面要用到回调函数,有谁以前也写的,请帮我看下,我在线的,马上结贴的


}//end   namespace



[解决办法]
http://blog.csdn.net/dahuangcuc/archive/2006/03/18/628121.aspx

[解决办法]
回调函数是一个程序员不能显式调用的函数;通过将回调函数的地址传给调用者从而实现调用.
你把回调函数写好,让其他程序或windows call
[解决办法]
关注.帮顶下...........
[解决办法]
代码太多了!!帮顶!
[解决办法]
关注.帮顶下...........
[解决办法]
异步是你传输数据出去后,你不用管了,由回调函数管,根据回调得到的属性值,在回调函数中处理。至于回调函数得到的属性值是那段数据,你自己标识处理。

热点排行