tcpudp面试题

什么是IP地址
ip地址是主机在网络中的唯一标识,当主机更换网络时ip号会改变。
ip=网络号+主机号(A类网、B类网、C类网、D类网、E类网)
tcp和udp的区别
tcp:
1、提供面向链接的,可靠的数据传输服务,
2、稳定,传输过程中,数据无误,不会丢失,不会重复
(cp会给每个数据包上编号,称为序列号
每个序列号都要应答包答应
3、传输效率低,消费资源多
4、数据收发不同步
为了提高效率,tcp会将多个较小,并且发送间隔短的数据包,沾成一个包发送,称为沾包现象
5、tcp使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的场合使用tcp

udp:
1、面向无连接的,不保证数据可靠的,尽最大努力传输的协议
2、传输过程中可能会出现数据丢失、重复失序现象
3、数据传输效率高,实时性高
4、收发是同步的,不会沾包
5、适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下

TCP服务器通信步骤

1.使用socket函数创建一个套接字
2.定义一个通信结构体,转换主机端口号和ip地址,然后使用bind函数绑定端口号、IP(需要宏定义一个端口号和ip地址)
3.使用listen函数将套接字设置成被动监听
4.定义一个结构体变量接受客户端地址信息结构体,要使用accept阻塞等待客户端的链接请求
5.定义一个char类型数组,把数组清空,然后使用recv函数读取客户发来信息
6.关闭套接字


UDP服务器通步骤
1.使用socket函数创建一个套接字
2.定义一个通信结构体,转换主机端口号和ip地址,然后使用bind函数绑定端口号、IP(这边是写要连服务器的端口号和ip地址,客户端的端口号和ip地址可以不写,系统会自动生存)
3.定义一个char类型数组,把数组清空,然后使用recvform函数读取客户发来信息
4.关闭套接字


UPD是否可以使用connect
可以使用connect
1、建立成功后将是服务器与某个客户端的唯一通道.
2、好处:传输效率高,稳定性高,数据干扰较小.
3、、在服务器端使用connect与某个特定的客户端建立连接后,服务器就不再接收其他客户端的消息了.
如果想要断开,需要再使用一次connect函数,但是需要将地址信息结构体中的sin_addr改成AF_UNSPEC
3、在udp中可以多次使用connect函数与其他客户端建立连接,但是在TCP中只能进行一次连接当UDP中使用了connect与某个特定的客户端建立连接后,就可以正常使用read/write、send/recv函数完成通信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/751916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线性代数笔记20--特征值特征向量与旋转矩阵推导

1. 特征向量与特征值 研究对象是一个平面 A A A,向量 X X X通过 A A A变换后仍然平行于 X X X。 这样的向量就叫特征向量。 变换后的向量与原向量的比值就是特征值。 A X / / X A X λ X AX \mathop{//} X\\ AX \lambda X AX//XAXλX 如果矩阵 A A A是奇异矩阵&…

【计算机网络】基本概念

基本概念 IP 地址端口号协议协议分层封装分用客户端服务器请求和响应两台主机之间的网络通信流程 IP 地址 概念:IP 地址主要是用于唯一标识网络主机、其他网络设备(如路由器)的网络地址。简单来说,IP地址用来唯一定位主机。格式&…

网络安全之DDos攻击原理与防御

DDos简介 对于DDos(分布式拒绝服务)攻击,人们往往谈虎色变。它被认为是安全领域中最难解决的问题之一,迄今为止也没有完美的解决方案。DDos攻击是一种网络攻击方式,其目的是通过利用大量的互联网连接设备同时向目标网站或服务发送大量请求&a…

软件架构设计 C/S与B/S架构的区别

一、什么是C/S架构? C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle或SQLServer。 C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端&#x…

uni-popup(实现自定义弹窗提示、交互)

一般提示框的样式,一般由设计稿而定,如果用uniapp的showmodel,那个并不能满足我们需要的自定义样式,所以最好的方式是我们自己封装一个!(想什么样就什么样)! 一、页面效果 二、使用…

SpringMVC03 基础操作续与几个简单的交互

前文 第一篇 第二篇 基础操作 上篇博客我们知道了如何获取Session内容以及传输数组,json,对象,集合等的传送和获取 这节课我们可以从上篇的结束开始,其实Spring对Session进行了进一步的封装,我们可以使用其他的方式也可以读取和设置Session(更简洁的方式) 1.直接使用HTTPSessio…

ssh命令——安全远程连接服务

ssh命令是Secure Shell的简写,其功能是安全地远程连接服务器,ssh是OpenSSH套件中的客户端连接工具,通过SSH加密协议进行远程主机访问,并对远程服务器进行管理。 ssh命令的基本语法格式如下: ssh [选项] 主机名或IP地…

[春招面试题] 当有多个环境特定的配置文件时,Spring Boot会如何处理属性值的覆盖?

当有多个环境特定的配置文件时,Spring Boot通过一种被称为“profile-specific”的属性覆盖机制来处理这些配置文件。 简单来说,Spring Boot首先加载默认配置文件(即application.properties或application.yml),然后加载…

【GPT-SOVITS-02】GPT模块解析

说明:该系列文章从本人知乎账号迁入,主要原因是知乎图片附件过于模糊。 知乎专栏地址: 语音生成专栏 系列文章地址: 【GPT-SOVITS-01】源码梳理 【GPT-SOVITS-02】GPT模块解析 【GPT-SOVITS-03】SOVITS 模块-生成模型解析 【G…

文件包含漏洞(input、filter、zip)

一、PHP://INPUT php://input可以访问请求的原始数据的只读流,将post请求的数据当作php代码执行。当传入的参数作为文件名打开时,可以将参数设为php://input,同时post想设置的文件内容,php执行时会将post内容当作文件内容。从而导致任意代码…

体系结构安全第二次作业:调研整理编译器优化引入的安全问题,形成调研报告提交

一、背景 今天,复杂而泛在的软件架构支撑着全球经济,编译器和高级语言正是这些软件的基石。强大而优雅的编译技术在硬件综合等领域同样有着“连城”的价值。毫不夸张地说,与半导体技术一样,编译器和高级语言处于信息时代的核心地位…

wireshark解析https数据包

Debian11环境: 在linux环境下抓取访问某个https的网址时抓取的数据包都是加密的,导致无法跟踪到数据包流,现在尝试将抓取的https包进行解密。 1、解密https数据包需要设置SSLKEYLOGFILE变量,推荐写入配置文件中。 echo "exp…

使用IDEA进行Scala编程相关安装步骤

一、相关安装包(jdk最好用1.8版本,其他不做要求) IDEA安装包 jdk-8u101-windows-x64.exe scala-2.12.19 二、安装顺序 在安装IDEA之前,首先要安装好java和scala环境,以便后续配置 三、jdk和scala安装要求 1.jdk安…

【启动npm run serve 奇怪的报错】

报错如下: INFO Starting development server... utils.js:587Uncaught TypeError [ERR_INVALID_ARG_VALUE]: The argument path must be a string or Uint8Array without null bytes. Received E:\\#\u0000#idea-workspace\\wonderful-search\\wonderful-search-v…

研究生总结

Note:本博客更多是关于自己的感悟,没有翻阅文件详细查证,如果存在错过,也请提出指正。 1. 半监督回归 相比于半监督分类,半监督回归相对冷门。回归和分类之间有着难以逾越的天谴,预测精度。分类中的类别是可数的&…

Vue2 引入使用ElementUI详解

目录 1 安装2 引入2.1 全局引入2.1.1 引入2.1.2 使用 2.2 按需引入2.2.1 引入2.2.2 使用 3 总结 1 安装 推荐使用 npm 的方式安装,它能更好地和 webpack打包工具配合使用。(本项目使用安装方式) npm i element-ui -S也可以使用其他的包管理…

ioDraw:与 GitHub、gitee、gitlab、OneDrive 无缝对接,绘图文件永不丢失!

🌟 绘图神器 ioDraw 重磅更新,文件保存再无忧!🎉 无需注册,即刻畅绘!✨ ioDraw 让你告别繁琐注册,尽情挥洒灵感! 新增文件在线实时保存功能,支持将绘图文件保存到 GitHu…

【TB作品】MSP430,单片机,Proteus仿真,单片机通信,串口通信

文章目录 题目虚拟串口仿真图程序介绍获取代码和仿真 题目 30、单片机通信 基本要求: 设计一串口通信程序,波特率 9600,通过 RS232 与 PC 机通信。 由 PC 机向单片机发送字符串数据,单片机接收到数据后发回 PC 机,其中…

Centos yum报错‘Connection timed out after 30002 milliseconds‘) 正在尝试其它镜像。解决办法

修改源后更新报错 我有两个Centos 一个7 一个8,疏忽在7上面配置了8的源后报错,通过下面的报错发现提示的是Centos7的源找不到,才意识到是不是配置错了源。 报错信息: http://mirrors.aliyun.com/centos/7/AppStream/x86_64/os/r…

【AI系列】Torchvision、Torchaudio 和 Torchtext关系

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…