当前位置:网站首页>计算机网络学习笔记7-TCP编程流程及面试题
计算机网络学习笔记7-TCP编程流程及面试题
2022-07-22 08:39:00 【Lewin~】
做为客户端需要具备的条件
1、知道“服务器”的ip、port
2、Connect主动连接“服务器”
3、需要用到的函数
socket—创建“主动TCP套接字”
connect—连接“服务器”
send—发送数据到“服务器”
recv—接受“服务器”的响应
close—关闭连接
做为TCP服务器需要具备的条件
1、具备一个可以确知的地址 bind
2、让操作系统知道是一个服务器,而不是客户端 listen
3、等待连接的到来 accpet
对于面向连接的TCP协议来说,连接的建立才真正意味着数据通信的开始.
tcp客户端的编程流程
1)创建一个TCP套接字
2)bind绑定(可选的)
3)connect链接服务器
4)给服务器发送数据 send
5)接收服务器数据 recv
6)关闭套接字
tcp服务器的编程流程
1)创建一个tcp监听套接字
2)使用bind函数 给监听套接字 绑定固定的ip以及端口
3)使用listen创建连接队列 主动变被动
4)使用accpet函数从连接队列中 提取已完成的连接 得到已连接套接字
5)获取客户端的请求 以及 回应客户端
6)关闭已连接套接字
7)关闭监听套接字
1、listen的作用?
将套接字由主动修改为被动。
使操作系统为该套接字设置一个连接队列,用来记录所有连接到该套接字的连接
2、listen创建的链接队列分为几部分?
两部分 完成连接 未完成连接 完成三次握手后切换
3、 tcp套接字 中监听套接字和 已连接套接字的区别?
监听套接字用来接受来自客户端的连接请求。
已连接套接字用来与客户端进行通信。
4、tcp 应用层为啥不能接收 0长度数据包?
0长度数据被用作对方套接字应用层关闭
边栏推荐
- GBase8s数据库对 SET COLLATION 的限制
- Installation and introduction of Lin UI component library of wechat applet - Advanced
- 融合注意力机制和BSRU的工业互联网安全态势预测方法
- 飞机大战中对象池模式子弹使用
- QT笔记—— VS一个项目生成多个exe文件
- QT笔记——QTableWidget 之 指定某列排序
- GBase8s数据库SET COLLATION 语句
- Shallow solution of ZMQ lockless queue
- Gbase8s database restrictions on set collection
- MySQL数据库结合项目实战SQL优化总结
猜你喜欢
一招教你招聘数据可视化~还有人不会这些数据分析小案例吗?
Dokcer运行Nacos容器自动退出问题
QT notes - qjason
Rk3399 platform development series explanation (alsa subsystem) 4.37, alsa driven framework
SQL多条件查询无法实现
QT笔记—— QTableWidget 之 拖拽行数 和 移动
Super practical transformation strategy: 2022 central state-owned enterprise cloud native landing practical guide was officially released
地图找房的实例
逆袭黑马:数据库全栈工程师(DevDBOps)培训,把最好的课程送给您!
超实用转型攻略:《2022央国企云原生落地实用指南》正式发布
随机推荐
一招教你招聘数据可视化~还有人不会这些数据分析小案例吗?
解决 TypeScript 报错:A computed property name in an interface must refer to an expression whose type ...
请教下,oracle-cdc是不是不支持检查点,当实时采集过程中任务挂了到重启这段时间的数据变化是不
力扣练习——35 组合总和 II
QT笔记——QTableWidget 之 指定某列排序
[3D target detection] sparse convolution
What level do programmers need to reach to get 20K monthly salary without pressure?
Ssl/tls protocol attack detection method based on stream spectrum theory
QT笔记——Qt动态属性 之 unpolish() 和 polish()
Jinan Zhangqiu subject three data collection
QT笔记—— VS一个项目生成多个exe文件
【Rust】我该用什么软件开发 Rust | 常用支持 Rust 的编辑器推荐
QT exe只允许运行单个
融合注意力机制和BSRU的工业互联网安全态势预测方法
pm的报警告:“npm WARN config global --global, --local are deprecated
QT笔记——QtXml
Calculate deposit interest
Web3 sharing
力扣练习——29 按要求补齐数组
GBase8s数据库约束模式的保持