Socket异步通讯,求指明什么意思 本帖最后由 zdczdcc 于 2014-05-17 16:17:45 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public IAsyncResult BeginAccept (AsyncCallback callback,Object state)Lambda好像和匿名方法差不多。 asyncResult是个形参。 这其实跟注册一个事件是一样的意思,都是注册委托方法给 serverSocket。然后当回调此(第一个参数表示的delegate)方法时,传递了一个参数,它的参数名字叫做 asyncResult。实际上匿名委托,就是类似这样的委托 serverSocket.BeginAccept(MyProc, null);public void MyProc(asyncResult) { Socket clientSocket = serverSocket.EndAccept(asyncResult); AsyncReceive(clientSocket); AsyncAccept(serverSocket); }这不过是把这个形式精简了,叫做匿名委托。因此首先你要懂得“委托”的概念,然后才能懂得当“宿主”回调委托方法时的参数传送。 实际上,我不建议使用socket类。因为这是很低级的东西,是用来跟linux之类的系统相兼容的东西。如果你是一个.net程序员,你应该习惯使用TcpListener、TcpClient等类型,而不是低级的Socket。这高级的类,并不是直接调用低级的Socket类的,而是直接封装windows api中的IOCP机制的。因此使用TcpListner的人跟使用Socket类的人的系统不可同日而语,不是说越是使用低级的东西就好像越了解通讯。使用Socket类的人根本不太懂得用到IOCP,使用TcpListener的人才懂得去使用windows的IOCP机制! 是不是这个意思,BeginAccept方法产生了一个asyncResult,然后回调delegate时将那个asyncResult传给delegate;还想请问为什么会有delegate,是不是向接口一样实现多态,提高重用,看网上很多说delegate类似于函数指针,可我觉得更像是对一个“类型”的函数的抽象 十分感谢,我是学生,正在学.Net,看博客时看见了Socket编程,就想学习下,回头会看看TcpListener等相关的博客,谢谢 TcpListener、TcpClient只是为了方便使用,对Socket进行了简单的封装,并不是封装IOCP什么的,可以直接Reflector代码出来看,要想实现IOCP和高性能的Socket,还是的自己使用Socket类和SAE进行开发。 sp解释下啊,starts是个站长好像也很牛的样子 帮忙看看这段代码中用到的C#语法或特性 iframe交互问题 菜鸟求助:C#的入门书,那些比较好啊??????? 晕啊,为什么在类定义的变量无法定义值啊 献分求高手指点! 有研究VSA的同好吗? 如何发布C#编写的Activex 那位高手帮我说一下C#中的SQL数据库转换为access数据库 C#编写的程序如何连接云服务器 本地VS生成编译之后,站点的cookie就会丢失,请问有哪些原因? C#根据查询条件 取到这个数据为空时, 连接Oracle数据库
Lambda好像和匿名方法差不多。 asyncResult是个形参。
{
Socket clientSocket = serverSocket.EndAccept(asyncResult);
AsyncReceive(clientSocket);
AsyncAccept(serverSocket);
}
这不过是把这个形式精简了,叫做匿名委托。因此首先你要懂得“委托”的概念,然后才能懂得当“宿主”回调委托方法时的参数传送。
还想请问为什么会有delegate,是不是向接口一样实现多态,提高重用,看网上很多说delegate类似于函数指针,可我觉得更像是对一个“类型”的函数的抽象