windows phone开发学习4:Socket编程总结

Socket编程:套接字,用于描述IP地址和端口 。用IP地址和端口号唯一确定

端口TCP  UDP是相互独立的,例如在TCP协议下有200号端口,在UDP协议下也可以有200号端口,且是相互独立的)

Socket之间的连接过程分为3个步骤:

1.服务器监听

2.客户端请求

3.连接确认

Windows phone应用程序Socket通信的过程包括7个步骤

1.创建一个客户端和服务器端的Socket连接

2.客户端发送消息,服务器端接受消息

3.客户端接受消息,服务器端发送消息

4.连接不断,重复23步骤

5.关闭发送接收通道,可以只关闭发送或接受通道,也可以同时关闭

6.关闭socket连接

7.整个通信过程到此终止

执行异步Socket操作的模式包含以下步骤:

1.分配一个新的SocketAsyncEventArgs对象,或者从应用程序池中获取一个这样的空闲对象

2.针对SocketAsyncEventArgs对象设置即将执行的操作所需要的属性:例如附加到Completed事件的事件处理程序以及ConnectAsync方法的RemoteEndPoint属性

3.调用适当的Socket方法以启动异步操作

4.如果异步Socket方法返回true,则说明I/O操作处于挂起状态。操作完成时,将引发传递给Socket方法的SocketAsyncEventArgs对象的SocketAsyncEventArgs.Completed事件。

5.如果返回的是false,说明操作时同步完成的。可以查询SocketAsyncEventArgs属性来获取完成状态和Socket操作结果

6.SocketAsyncEventArgs重用于另一个操作,将它放回到应用程序池中,或者将它丢弃。

客户端一般步骤:

完成事件方法:

首先检查连接是否失败,失败处理

连接成功操作:

检测sock的上一个操作:然后确定其操作

如果上一个操作是连接:下一个操作就应该是发送数据

如果上一个操作是发送:显示发送成功的数据,下一个操作是接受数据

如果上一个操作是接收:显示接受到的数据,然后清理资源

 

原文地址:https://www.cnblogs.com/liutianwen/p/3014616.html