【基本tcp/ip模型】c.s模型(1)

简介: 【基本tcp/ip模型】c.s模型(1)

前言

网络编程是基于tcp/ip协议来完成的

网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。 网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。


提示:以下是本篇文章正文内容,下面案例可供参考

一、c.s模型和tcp/ip协议是什么?

重要性:TCP/IP是今天的互联网的基石,没有这个就上不了网了

概念:tcp/ip指的是整个网络传输体系。而tcp协议和ip协议就是单单的两个协议

特点:面向连接的,可靠的,基于字节流的传输层协议

client/server ----- 客户端/服务器模型

这些我们下载客户端的,都属于c/s模型的一个应用

c/s模型其实是概念层面的,实现层面可以是基于任何的网络协议。

演示:

套接字编程与socket编程

socket中文->套接字,也统称叫网络编程

二、网络头文件 网络库

最底层的网络函数,大家用QT MFC wpf,或者百度下载的很多其他的封装好的网络库,都是对咱们讲的这些最本质的网络函数的二次封装,咱们讲的是通用的,讲完这个大家也可以自己封装函数库给别人用了。

#include <WinSock2.h>
#pragma comment(lib,"ws2_32.lib")

WinSock2网络库版本(winsock.h)

目前网络库版本:1.0 1.1 2.0 2.1 2.2

大家可以挑选自己电脑可以用的网络库使用

导入库

ws2_32.lib(第二版本)

wsock32.lib(第一版本)

大家可以挑选自己电脑可以用的网络库使用

三、打开网络库 WSAStartup

功能:打开网络库/启动网络库,启动了这个库,这个库里的函数/功能才能使用

w windows

s socket

a Asynchronous 异步

startup 启动

同步和异步概念:
同步:你执行完后我才能执行
异步:可以一起执行,不影响使用

//函数原型
//参数1:我们要使用的库的版本
//参数2:系统通过这个参数给我们一些配置信息
int WSAStartup(
  WORD      wVersionRequired,
  LPWSADATA lpWSAData
);

代码:

WORD wVersionRequired = MAKEWORD(2,2);//使用宏“MAKEWORD”赋值进WORD中
WSADATA WSAData;//参数二其实是WSADATA的指针
WSAStartup(wVersionRequired,&WSAData);

MAKEWORD

MAKEWORD(主版本,副版本);

使用自己电脑可以使用的版本

WSADATA

结构体成员:

wVersion我们要使用的版本

wHighVersion系统能提供给我们最高的版本

iMaxSockets返回可用的socket的数量,2版本之后就没用了

iMaxUdpDgUDP数据报信息的大小,2版本之后就没用了

lpVendorInfo供应商特定的信息,2版本之后就没用了

szDescription szSystemStatus当前库的描述信息,2.0是第二版的意思

返回值

返回0为执行正确

错误:

ede1d25af4734e94833911818aa960d1.png

相应的去if…else 或switch

四、版本校验

//根据上可以指定WSADATA的成员得知版本号存储位置
if(2 != HIBYTE(WSAData.wVersion) || 2 != LOBYTE(WSAData.wVersion))
{
  printf("版本号错误!!!");
  WSACleanup();//关闭库
  return -1;
}

宏解释:

HIBYTE是副版本

LOBYTE是主版本

根据自己添加的WORD的本版是校验

WSACleanup();//关闭库

总结

以上就是今天要讲的内容,本文仅仅简单介绍了打开网络库头文件,打开网络库,版本校验.请大家好好理解

相关文章
|
8月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
145 4
|
2月前
|
网络协议 网络架构
TCP/IP协议架构:四层模型详解
在网络通信的世界里,TCP/IP协议栈是构建现代互联网的基础。本文将深入探讨TCP/IP协议涉及的四层架构,以及每一层的关键功能和作用。
203 5
|
3月前
|
网络协议 数据安全/隐私保护 网络架构
|
2月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
103 2
|
2月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
8月前
|
网络协议 网络架构
OSI 模型和 TCP/IP 模型的异同
OSI 模型和 TCP/IP 模型的异同
123 1
|
3月前
|
网络协议 网络架构
【网络】TCP/IP 五层网络模型:数据链路层
【网络】TCP/IP 五层网络模型:数据链路层
57 1
|
3月前
|
网络协议 算法 程序员
【网络】TCP/IP 五层网络模型:网络层
【网络】TCP/IP 五层网络模型:网络层
124 1
|
3月前
|
XML JSON 网络协议
【网络】TCP/IP五层网络模型:应用层
【网络】TCP/IP五层网络模型:应用层
33 1
|
8月前
|
网络协议 数据安全/隐私保护 网络架构
OSI七层模型和TCPIP五层模型
OSI七层模型和TCPIP五层模型

热门文章

最新文章