zoukankan      html  css  js  c++  java
  • 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的上一个操作:然后确定其操作

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

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

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

     

  • 相关阅读:
    设计模式之里氏替换原则
    设计模式之依赖倒置原则讲解
    条款10 若不想使用编译器自动生成的函数,就该明确拒绝
    Django---常用字段和参数
    Python中abc
    Python中鸭子类型
    Python多继承的正确打开方式:mixins机制
    python新式类和经典类的区别
    Django---drf权限、频率、过滤、排序、异常处理
    删库跑路技巧 删库跑路命令
  • 原文地址:https://www.cnblogs.com/liutianwen/p/3014616.html
Copyright © 2011-2022 走看看