异步通信在⽣活中的例⼦_异步通信
基于TCP协议的异步通讯(c#)
1.建⽴连接:
在同步模式中,我们在服务器上使⽤Accept⽅法接⼊连接请求,⽽在客户端我们则使⽤Connect⽅法来连接服务器。相对地,在异步模式下,服务器可以使⽤BeginAccept⽅法和EndAccept⽅法来完成连接到客户端的任务,在客户端则通过BeginConnect⽅法和EndConnect⽅法来实现与服务器的连接。
BeginAccept在异步⽅式下传⼊的连接尝试,它允许其他动作⽽不必等待连接建⽴才继续执⾏后⾯程序在调⽤BeginAccept之前,必须使⽤Listen⽅法来侦听是否有连接请求,等待他把请求放⼊消息队列中参数列表为:
BeginAccept(AsyncCallBack, Ojbect state)
AsyncCallBack:代表回调函数
state:表⽰状态信息,必须保证state中包含socket的句柄
⽽在回调⽅法中应调⽤EndAccept()⽅法来完成操作,该⽅法返回新的套接字对象,并在以后的通信中可以使⽤该套接字。其基本流程是:
(1)创建本地终节点,并新建套接字与本地终节点进⾏绑定;
(2)在端⼝上侦听是否有新的连接请求;
(3)请求开始接⼊新的连接,传⼊Socket的实例或者StateOjbect的实例
代码
//定义IP地址
IPAddress local=IPAddress.Prase("127.0,0,1");
IPEndPoint iep=new IPEndPoint(local,13000);
//创建服务器的socket对象
server=new Socket(AddressFamily.InterNetwork,SocketType.Stream,Proto colType.Tcp)
server.Bind(iep);
server.Listen(20);
Server.BeginAccecpt(New AsyncCallBack(Accept),server);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论