16_TCP C/S模型引入


16_TCP C/S模型引入


16_TCP C/S模型引入

1.网络基础概念

网卡:在网络上收发数据
1.什么是网络?
多个主机连接起来构成网络
2.什么是互联网?
把多个网络连接起来就构成互联网
3.IP地址 ipv4, ipv6
32位,每8个位一个字节,一个字节范围0-255
MAC物理地址 48位
4.端口号 port 短整型short
在一台主机上标识一个进程/应用程序,相当于一个代号
知名端口:1024以内 root
保留端口:1024-4096(5000)
临时端口:5000以上,我们一般使用临时端口

2.网络分层

(OSI)应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
(TCP/IP)应用层 传输层 网络层 数据链路层

数据链路层:相邻的两个主机间数据的传输
网络层:不相邻的两个主机间数据的传输 ip协议
传输层:给应用层提供进程间通讯的能力,两台不同主机上的两个进程间通讯 tcp udp协议
应用层: http

3.套接字 socket

软件层面,进行数据的收发
ip+port ip地址+端口 组成一个套接字的地址
通用套接字结构struct sockaddr (ipv4专用的是struct sockaddr_in)

举个栗子:
Eg:服务器端客户端通讯代码很重要!面试写!
在这里插入图片描述

先运行服务器端,再运行客户端,服务器端等待客户端来链接。
服务器端 ser.c

行号注释
13最后一个参数是标志位,几乎恒为零
16服务器端端口号saddr,客户端端口号caddr
19htons() 短整型主机字节序列转成网络字节序列(统一成大端存储)(设置端口号的时候要用) 要使用5000以上端口,临时端口
20终端ifconfig查找,前提要联网
22注意第二个参数换成通用套接字结构
31第二个参数表示谁来跟我建立连接(客户端端口号)
40c表示刚才建立连接的端口号,数据存放在buff中,标志位0
44关闭c,可以使c进行复用

在这里插入图片描述
在这里插入图片描述

客户端 sli.c

行号注释
19表示我们即将去链接的端口号为6000

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值