zoukankan      html  css  js  c++  java
  • Visualc++网络编程概述

    Socket套接字

    • windows编写网络驱动程序时,需要使用WindowsSocket(windows套接字),与windows套接字相关的api函数曾为Winsock函数
    • 网络通讯双方有各自的套接字,并且该套接字与特定的ip地址与端口号相关联,套接字有两种类型,分别是流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM),其中流式套接字专门用于TCP程序的应用程序中而数据报套接字专门用于使用UDP协议进行通讯的应用程序中。

    网络字节顺序

    • 网络字节顺序是指TCP/IP协议中规定的数据传输使用格式,与之相对应的字节顺序是主机字节顺序。网络字节顺序表示首先将数据中最重要的字节进行存储,例如当数据0x358457使用网络字节顺序进行存储,该值在内存中的存放顺序是0x35、0x84、0x57因为通讯数据可能会在不同的机器之间进行传输,所以通讯数据必须以相同格式整理。只有经过格式处理的通信数据,才能在不同的机器之间进行传输。

    Windows Sockets

    CAsyncSocket类

    • 在微软的基础类中,CAsyncSocket封装了异步套接字的基本功能,用户使用该类进行网络数据传输步骤如下:
      • 调用构造函数创建套接字对象
      • 创建服务器套接字,调用Bind()绑定本地ip和端口,然后调用函数Listen()监听客户端请求,如果请求到来调用Accept()进行响应,如果创建客户端套接字,直接调用Connect()连接服务器即可。
      • 调用Send()等功能函数进行数据的传输与处理。
      • 关闭与销毁套接字对象

    CSocket类

    • CSocket派生于CAsyncSocket类,该类不但具有CAsyncSocket类的基本功能,还具有串行化的功能。
    • 在用户实际编程中将CSocket与CSocketFile和CArchive类一起使用能够很好的管理以及发送数据。用户使用该类进行网络编程步骤如下:
      • 创建socket类对象
      • 如果创建服务端套接字,则调用函数Bind()绑定本地ip地址和端口,然后调用函数Listen()监听客户端请求。如果请求到来,则调用函数Accept()响应请求如果创建客户端套接字,则调用函数Connect()连接服务器即可。
      • 创建与CSocket相关联的CSocketFile类对象
      • 创建与CSocketFile类相关联的CArchive对象
      • 使用CArchive类对象在客户端与服务端之间进行数据传输
      • 关闭或销毁CSocket、CSocketFile和CArchive类
  • 相关阅读:
    关于格林尼治时间(GMT)和DateTime相互转换的分享
    Mybatis多表操作
    Mybatis动态SQL
    Mybatis连接池及事务
    Mybatis基本使用
    Mybatis基本入门搭建
    面试刷题29:mysql事务隔离实现原理?
    面试刷题28:如何写出安全的java代码?
    面试刷题27:程序员如何防护java界的新冠肺炎?
    面试刷题26:新冠攻击人类?什么攻击java平台?
  • 原文地址:https://www.cnblogs.com/binarysystemloophole/p/12830712.html
Copyright © 2011-2022 走看看