Linux网络——Socket编程函数
一.网络命令
1.ping
ping命令用来检测网络是否连通,具体用法为:
ping + 任意网址
结果如下:

当出现上述字段时,证明网络是连通的,这里值得注意的是,ping命令执行之后会不断进行网络检测,不会停止,需要主动停止,但是我们也可以指定ping命令的检测次数,指令为:
ping -c + 次数 + 任意网址
如图,执行指定次数后便会立即退出。
2.netstat
netstat是一个用来查看网络状态的重要工具,常用的选项有以下几个:
- n:拒绝显示别名,能显示数字的全部转换为数字。
- l:仅列出有在Listen(监听)的服务状态。
- p:显示建立相关链接的程序名。
- t(tcp):仅显示tcp相关选项。
- u(udp):仅显示udp相关选项。
- a(all):显示所有选项,默认不显示LISTEN相关。
3.watch
watch命令可以定期执行某命令,具体用法为:
watch -n + 数字 + 命令
即每个若干数字时长就会执行一次后边的命令。
4.pidof
pidof指令可以直接通过进程的名字来查看该进程的pid,具体用法为:
pidof + 进程名
二.UDP网络编程
1.创建Socket
#include <sys/types.h>
#include <sys/socket.h>int socket(int domain, int type, int protocol);
该函数用于创建套接字。
- 参数1表示套接字的用途,一般可有两种选择:
AF_UNIX:本地
AF_INET:网络
- 参数2表示套接字的类型,在UDP使用中,设为SOCK_DGRAM。
- 参数3表示协议的名称,一般不做处理,设为0。
- 返回值为文件描述符,返回失败为-1。
2.bind
#include <sys/types.h>
#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);
该函数用于绑定端口号。
- 参数1为绑定对应套接字的文件描述符。
- 参数2为绑定端口服务器的结构体信息。
- 参数3为结构体大小。
绑定成功返回0,绑定失败返回-1。
3.recvfrom
#include <sys/types.h>
#include <sys/socket.h>ssize_t recvfrom(int sockfd, void *buf, size_t len, int flags,struct sockaddr *src_addr, socklen_t *addrlen);
该函数用于读取网络传输的数据。
- 参数1为绑定对应套接字的文件描述符。
- 参数2为缓冲区。
- 参数3为缓冲区大小。
- 参数4为阻塞标记。
- 参数5表示信息的来源。
- 参数6为信息来源的大小。
读取成功返回数据大小,失败返回-1。
4.sendto
#include <sys/types.h>
#include <sys/socket.h>ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,const struct sockaddr *src_addr, socklen_t addrlen);
该函数用于发送网络传输的数据。
- 参数1为绑定对应套接字的文件描述符。
- 参数2为缓冲区。
- 参数3为缓冲区大小。
- 参数4为阻塞标记。
- 参数5表示信息的目的地。
- 参数6为信息目的地的大小。
读取成功返回数据大小,失败返回-1。
相关文章:
Linux网络——Socket编程函数
一.网络命令 1.ping ping命令用来检测网络是否连通,具体用法为: ping 任意网址 结果如下: 当出现上述字段时,证明网络是连通的,这里值得注意的是,ping命令执行之后会不断进行网络检测,不会停…...
HarmonyOS 是如何实现一次开发多端部署 -- HarmonyOS自学1
一次开发多端部署遇到的几个关键问题 为了实现“一多”的目标,需要解决如下三个基础问题: 问题1:页面如何适配 不同设备间的屏幕尺寸、色彩风格等存在差异,页面如何适配。 问题2:功能如何兼容 不同设备的系统能力…...
嵌入式硬件-ARM处理器架构,CPU,SOC片上系统处理器
多进程空间内部分布图:注意:创建线程实际使用堆区空间,栈区独立 ARM处理器架构: 基于ARM920T架构的CPU:以下为哈佛结构 ALU:算数运算器 R0~R12:寄存器 PC:程序计数器,默认为0,做自加运算&#x…...
《JavaEE进阶》----12.<SpringIOCDI【扫描路径+DI详解+经典面试题+总结】>
本篇博客主要讲解 扫描路径 DI详解:三种注入方式及优缺点 经典面试题 总结 五、环境扫描路径 虽然我们没有告诉Spring扫描路径是什么,但是有一些注解已经告诉Spring扫描路径是什么了 如启动类注解SpringBootApplication。 里面有一个注解是componentS…...
Selenium 自动化测试:常用函数与实例代码
引言 Selenium 是一个强大的自动化测试工具,广泛用于网页应用的自动化测试。它支持多种编程语言,包括 Python。本文将介绍 Selenium 的常用函数,并提供参数解释和代码示例。 Selenium 简介 Selenium 是一个用于自动化 Web 应用测试的工具&…...
python网络爬虫(五)——爬取天气预报
1.注册高德天气key 点击高德天气,然后按照开发者文档完成key注册;作为爬虫练习项目之一。从高德地图json数据接口获取天气,可以获取某省的所有城市天气,高德地图的这个接口还能获取县城的天气。其天气查询API服务地址为https://re…...
四.海量数据实时分析-Doris数据导入导出
数据导入 1.概述 Apache Doris 提供多种数据导入方案,可以针对不同的数据源进行选择不同的数据导入方式。 数据源导入方式对象存储(s3),HDFS使用 Broker 导入数据本地文件Stream Load, MySQL LoadKafka订阅 Kafka 数据Mysql、PostgreSQL&a…...
一. 从Hive开始
1. 怎么理解Hive Hive不能理解成一个传统意义上的数据库,应该理解成一个解决方案。 是Hadoop在hdfs和mapreduce之后才出现的一个结构化数据处理的解决方案。 Hdfs解决了大数据的存储问题,mapreduce解决了数据的计算问题。 一切似乎很美好。 但是使用成本…...
Linux下的PWM驱动
PWM PWM简介⭕ **PWM(Pulse Width Modulation,脉冲宽度调制)**是一种利用微处理器的数字输出对模拟电路进行控制的技术。通过改变脉冲的占空比,可以控制模拟电路的输出电压或电流。PWM技术广泛应用于电机控制、灯光调节、音频信号…...
日语输入法平假名和片假名切换
在学日语输入法的时候,我们在使用罗马音输入的时候,在进行平假名和片假名切换: 1、使用电脑在打字,日语输入法切换的时候使用 Shift Alt 如果日语输入法显示为 A 需要切换为 あ的话可以按Caps Lock键 。(相当于中文…...
Oracle向量搜索及其应用场景
Oracle 向量搜索(AI Vector Search)是一个集成到 Oracle 数据库中的功能,旨在优化人工智能(AI)工作负载。它允许用户存储和查询非结构化数据的语义内容,如文档、图像等,形式为向量。 向量数据类…...
【排序算法】六、快速排序补充:三指针+随机数法
「前言」文章内容是对快速排序算法的补充,之前的算法流程细节多难处理,这里补充三指针随机数法(递归),这个容易理解,在时间复杂度上也更优秀。 快排:三指针随机数法 原理跟之前的一致ÿ…...
PyTorch torch.cdist函数介绍及示例代码
1. torch.cdist 函数介绍 torch.cdist 是 PyTorch 中用于计算两组向量之间成对距离的函数。它可以计算两个张量(矩阵)中的每对向量之间的距离,支持多种距离度量方式,如欧氏距离(默认)或 p 范数距离。 函数原型 torch.cdist(x1, x2, p=2.0, compute_mode=use_mm_for_eu…...
CTK框架(四): 插件编写
目录 1.生成插件 1.1.环境说明 1.2.服务类,纯虚类,提供接口 1.3.实现插件类,实现纯虚函数 1.4.激活插件,加入ctk框架的生命周期中 1.5.添加资源文件 1.6..pro文件 2.使用此插件 3.总结 1.生成插件 1.1.环境说明 编译ct…...
深入理解C代码中的条件编译
引言 条件编译是 C 编程中的一个重要特性,它允许开发人员根据不同的条件选择性地编译源代码的不同部分。这一特性对于编写跨平台的程序、优化代码性能或控制编译时资源消耗等方面非常重要。本文将深入探讨条件编译的工作原理、使用场景、高级应用以及注意事项&…...
Ubuntu16.04操作系统-内核优化
1. 概述 本文所用优化是生产环境中经过长期验证的内核优化策略,针对的服务器与POD主要用于高CPU、高内存、高IO的业务场景。 备注: OS: ubuntu16.04, 内核: 4.15.0-147-generic 主要涵盖以下内容优化: ulimit优化加强tcp参数其他内存参数 …...
Qt/C++编写的Onvif调试助手调试神器工具/支持云台控制/预置位设置等/有手机版本
一、功能特点 广播搜索设备,支持IPC和NVR,依次返回。可选择不同的网卡IP进行对应网段设备的搜索。依次获取Onvif地址、Media地址、Profile文件、Rtsp地址。可对指定的Profile获取视频流Rtsp地址,比如主码流地址、子码流地址。可对每个设备设…...
【原创】java+swing+mysql密码管理器系统设计与实现
个人主页:程序员杨工 个人简介:从事软件开发多年,前后端均有涉猎,具有丰富的开发经验 博客内容:全栈开发,分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片,希望和大家…...
JavaEE-HTTPHTTPS
目录 HTTP协议 一、概念 二、http协议格式 http请求报文 http响应报文 URL格式 三、认识方法 四、认识报头 HTTP响应中的信息 HTTPS协议 对称加密 非对称加密 中间人攻击 解决中间人攻击 HTTP协议 一、概念 HTTP (全称为 "超⽂本传输协议") 是⼀种应⽤…...
iLogtail 开源两周年:社区使用调查报告
作者:玄飏 iLogtail 作为阿里云开源的可观测数据采集器,以其高效、灵活和可扩展的特性,在可观测采集、处理与分析领域受到了广泛的关注与应用。在 iLogtail 两周年之际,我们对 iLogtail 开源社区进行了一次使用调研,旨…...
LeetCode Hot 100 | 滑动窗口专题(C++ 题解)
LeetCode Hot 100 | 滑动窗口专题(C 题解) 滑动窗口是处理连续子数组/子字符串问题的核心技巧,通过维护一个可变窗口来避免重复计算,将 O(n) 的暴力枚举优化到 O(n)。本文涵盖 LeetCode Hot 100 中 2 道经典滑动窗口题目ÿ…...
Vue 中的 deep、v-deep 和 >>> 有什么区别?什么时候该用
点赞 收藏 学会🤣🤣🤣 “你用 Element Plus 写了个按钮,想改下 hover 颜色,结果死活不生效!最后查了半天,发现得加个 :deep() 才行” 其实,这是 Vue 中一个非常常见的坑…...
DS4Windows手柄适配工具全解析:从安装到高级配置的完美指南
DS4Windows手柄适配工具全解析:从安装到高级配置的完美指南 【免费下载链接】DS4Windows Like those other ds4tools, but sexier 项目地址: https://gitcode.com/gh_mirrors/ds/DS4Windows 在PC游戏领域,手柄支持一直是玩家体验的关键环节。许多…...
Phi-3-mini-4k-instruct-gguf实操手册:中文短文本生成场景下的温度调优策略
Phi-3-mini-4k-instruct-gguf实操手册:中文短文本生成场景下的温度调优策略 1. 模型概述与使用场景 Phi-3-mini-4k-instruct-gguf 是微软推出的轻量级文本生成模型,特别适合处理中文短文本任务。这个经过优化的GGUF版本模型,在问答、文本改…...
Qwen3-TTS开源大模型实战:复古HUD界面下的AI语音创作工作流
Qwen3-TTS开源大模型实战:复古HUD界面下的AI语音创作工作流 1. 引言:当AI语音合成遇上复古游戏风 想象一下,你不再需要面对枯燥的音频参数调节界面,而是走进一个像素风的游戏世界。在这里,生成一段AI语音就像玩一款复…...
7大维度测评:2023年开源付费墙绕过工具终极选择指南
7大维度测评:2023年开源付费墙绕过工具终极选择指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在数字内容访问需求日益增长的今天,选择一款高效可靠的开源…...
抖音下载器:从零开始,轻松获取无水印视频的完整指南
抖音下载器:从零开始,轻松获取无水印视频的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...
郭老师-悟性高的人,为何不合群?
悟性高的人,为何不合群? ——他们在独处中,与道同行“你以为他孤独, 其实—— 他正与万物对话。”🌿 不合群,不是缺陷, 而是—— 为悟性留出呼吸的空间。🧘 一、独处 ≠ 孤独&#x…...
Adafruit ST7735/ST7789 TFT驱动库详解:SPI接口与GFX分层架构
1. 项目概述 Adafruit ST7735 和 ST7789 库是一个面向嵌入式平台(尤其是 Arduino 生态)的轻量级图形驱动库,专为基于 Sitronix ST7735、ST7789 及 ST7796S 显示控制器的彩色 TFT 液晶模组设计。该库并非仅适配单一型号,而是通过统…...
我不是在用 AI 助手,我在把自己的能力沉淀成组织资产
先唠两句:参数就像餐厅点单 把API想象成一家餐厅的“后厨系统”。 ? 路径参数/dishes/{dish_id} -> 好比你要点“宫保鸡丁”这道具体的菜,它是菜单(资源路径)的一部分。查询参数/dishes?spicytrue&typeSichuan -> 好比…...
