• WinSock基础


    一、 WinSock编程常用数据结构

      套接字是网络通信过程中端点的抽象表示,包含了连接使用的协议,本地主机的IP地址,本地进程的协议端口,远程主机的IP地址和远程进程的协议端口。

      sockaddr_in结构对有关Socket的信息进行封装。

      struct sockaddr_in{

        short sin_family;//指网络中表示不同设备时使用的地址类型,对于IP地址,它的类型                                           是AF_INET

        unsigned short sin_port;//指Socket对应的端口号

        IN_ADDR sin_addr;//是一个结构,将IP进行了封装

        char sin_zero[8];//一个用来填充结构的数组,字符全为0,这个结构对于不同的地址类型                                             可 以是相同的大小

      };

      in_addr结构对IP地址进行了封装,既可以用4个单字节数表示,也可以转换成两个双字节数表示或者一个四字节数表示。

      struct in_addr {

        union {

          struct { u_char s_b1, s_b2, s_b3, s_b4; } S_un_b;

          struct { u_short s_w1, s_w2; } S_un_w;

          u_long S_addr;

        } S_un;

      };

    二、 Windows Sockets基础

       1. CAsyncSocket类:封装了异步套接字的基本功能。

      使用该类进行网络数据传输的步骤:首先调用构造函数创建套接字对象;如果创建服务器端套接字,则调用函数Bind()绑定本地IP和端口,然后调用函数Listen()监听客户端的请求;如果请求到来,则调用Accept()响应该请求,如果创建客户端套接字,则直接调用Connect()连接服务器即可;调用Send()等功能函数进行数据传输与处理;关闭或销毁套接字对象。

      2. CSocket类:派生于CAsyncSocket类,不仅具有它的基本功能,还具有序列化的功能。

      使用该类编程的步骤:创建CSocket对象;如果创建服务器端套接字,则调用函数Bind()绑定本地IP和端口,然后调用函数Listen()监听客户端的请求;如果请求到来,则调用Accept()响应该请求,如果创建客户端套接字,则直接调用Connect()连接服务器即可;创建与CSocket类对象相关联的CSocketFile类对象;创建与CSocketFile类相关联的CArchive对象;使用CArchive类对象在客户端和服务器之间进行数据传输;关闭或销毁CSocket类、CSocketFile类和CArchive类的3个对象。

      

    转载请注明:http://www.cnblogs.com/zhyLeos/
  • 相关阅读:
    30130413 腾讯笔试
    未来网络 SDN
    XAML实例教程系列 XAML传递参数到值转换类实例
    【转】Silverlight MVVM 贴近实战(一)
    XAML实例教程系列 依赖属性和附加属性
    Silverlight开发工具汇总
    XAML实例教程系列 类型转换器(Type Converter)
    XAML实例教程系列 标记扩展(Markup Extensions)
    XAML实例教程系列 事件(Event)
    [转]XAML实例教程系列 命名空间(NameSpace)
  • 原文地址:https://www.cnblogs.com/zhyLeos/p/8890854.html
Copyright © 2020-2023  润新知