至于Client家的仆人做事,那是大家风范,全部使用"异步"方式。你看看他们的名字:一个是ConnectAsync,一个是SendAsync,还有一个是ReceiveAsync。另外还有两个打杂,负责关门看院的小厮:Shutdown和Close 。
你看看Client小姐所在的城堡,真是气派:
整日闷坐在城堡里的Client小姐听说Server少爷那边房子准备好了,就安奈不住芳心,想催问婚礼什么时候举行。
她忙叫来ConnectAsync,他主要负责和Server联络,
ConnectAsync让MessageStream马夫牵来socket宝马,坐上刻着SocketAsyncEventArgs字样的族徽的豪华马车,向Server家奔去。
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//使用Tcp套接字
stream = new MessageStream();//使用MessageStream消息辅助类
SocketAsyncEventArgs args = new SocketAsyncEventArgs();
args.RemoteEndPoint = new DnsEndPoint(SvIP, Sport);//设定和Server的通讯地址和端口
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnSocketConnectCompleted);//连接完成后做出OnSocketConnectCompleted报告。
socket.ConnectAsync(args);//开始异步连接
stream = new MessageStream();//使用MessageStream消息辅助类
SocketAsyncEventArgs args = new SocketAsyncEventArgs();
args.RemoteEndPoint = new DnsEndPoint(SvIP, Sport);//设定和Server的通讯地址和端口
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnSocketConnectCompleted);//连接完成后做出OnSocketConnectCompleted报告。
socket.ConnectAsync(args);//开始异步连接