当前位置: 首页 > news >正文

【基础知识】网络套接字编程

  • 套接字
    • IP地址 + port(端口号) = socket(套接字)
  • socket常见API
//创建套接字
int socket(int domain, int type, int protocol);
//绑定端口
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
//监听套接字
int listen(int sockfd, int backlog);
//接受请求
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
//建立连接
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
  • socket、TCP、Http连接区分
    • Socket:通信的基础,提供发送和接收数据的能力,就像整个邮局系统。
    • TCP:一种可靠的通信方式,确保数据正确、完整地送达,类似于挂号信服务。
    • HTTP:一个在TCP之上的协议,专门用于传输网页等文档,像是特定的电子邮件系统,专门处理特定格式的消息。
  • 参考
    • https://blog.csdn.net/sjsjnsjnn/article/details/127011817?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221148896F-F03A-47BE-82A1-130EEC1E1A10%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=1148896F-F03A-47BE-82A1-130EEC1E1A10&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-127011817-null-null.142v100pc_search_result_base6&utm_term=套接字编程&spm=1018.2226.3001.4187
    • https://blog.csdn.net/qq_44154915/article/details/136699917?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-1-136699917-blog-129502560.235%5Ev43%5Epc_blog_bottom_relevance_base5&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7ECtr-1-136699917-blog-129502560.235%5Ev43%5Epc_blog_bottom_relevance_base5&utm_relevant_index=2

相关文章:

【基础知识】网络套接字编程

套接字 IP地址 port(端口号) socket(套接字) socket常见API //创建套接字 int socket(int domain, int type, int protocol); //绑定端口 int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); //监听套接字…...

小程序地图展示poi帖子点击可跳转

小程序地图展示poi帖子点击可跳转 是类似于小红书地图功能的需求 缺点 一个帖子只能有一个点击事件,不适合太复杂的功能,因为一个markers只有一个回调回调中只有markerId可以使用。 需求介绍 页面有地图入口,点开可打开地图界面地图上展…...

传统到AI 大数据分析的演变,颠覆智慧水电的未来?

传统到AI 大数据分析的演变,颠覆智慧水电的未来? 前言传统到AI 大数据分析的演变 前言 水电作为一种重要的能源形式,一直在我们的生活中扮演着至关重要的角色。而如今,随着科技的飞速发展,智慧水电和 AI 大数据应用的…...

while语句

1.while使用 打印1-10 #include<stdio.h> int main() {int a 1;while (10 > a){printf("%d\n", a);a 1;}return 0; } 2.while语句中的break&#xff0c;continue break&#xff1a; 跳出while语句 #include<stdio.h> int main() {int a 0;wh…...

机器学习(西瓜书)第 10 章 降维与度量学习

10.1 k近邻学习kNN k 近邻(k-Nearest Neighbor,简称kNN)学习是一种常用的监督学习方法,其工作机制非常简单&#xff1a;给定测试样本&#xff0c;基于某种距离度量找出训练集中与其最靠近的k个训练样本&#xff0c;然后基于这k个 “邻居”的信息来进行预测.通常&#xff0c;在…...

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Halo博客平台

828华为云征文 | 云服务器Flexus X实例&#xff0c;Docker集成搭建Halo博客平台 Halo博客平台是一款基于Java的开源博客系统&#xff0c;以其简单易用、功能强大、美观大方等特点而受到广泛欢迎&#xff0c;采用了多种先进的技术框架&#xff0c;包括Freemarker模板引擎、Vue.j…...

Android carrier_list.textpb 和apns-conf.xml 配置文件参考

简介 针对SIM 的APN配置是在apns-conf.xml,而Google源码中有apns-full-conf.xml案例参考,是加入了carrier_id的统一配置,就不用单独的一张张卡配了。 apns-conf.xml和apns-full-conf.xml有什么区别? 在于它们包含的配置内容和复杂性,full包含了carrier_id字段。 详细代…...

二期 1.4 Nacos安装部署 - Window版

本文目录 Nacos支持三种部署模式环境准备下载Nacos启动登录服务注册与查看Nacos支持三种部署模式 单机模式 - 用于测试和单机试用。集群模式 - 用于生产环境,确保高可用。多集群模式 - 用于多数据中心场景。以 Window单机模式 抛转引玉,其它部署方式参考官方文档: https://n…...

vue3基础九问,你会几问

1. Vue是什么&#xff1f; Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的核心库只关注视图层&#xff0c;采用自下而上的增量开发设计&#xff0c;这使得你可以将 Vue 轻松地整合到现有的项目中&#xff0c;或者与其他前端库一起使用。Vue 的目标是通过提供反…...

Linux系统应用之知识补充——OpenEuler(欧拉)的安装和基础配置

前言 这篇文章将会对OpenEuler的安装进行详解&#xff0c;一步一步跟着走下去就可以成功 注意 &#xff1a;以下的指令操作最好在root权限下进行&#xff08;即su - root&#xff09; ☀️工贵其久&#xff0c;业贵其专&#xff01; 1、OpenEuler的安装 这里我不过多介绍&a…...

Git(4):修改git提交日志

修改最新一次提交的信息 git commit --amend 修正提交信息 在打开的编辑器中修改信息&#xff0c;保存并退出&#xff0c;Git 会用新的提交信息替换掉旧的提交信息&#xff08;commit-id 变化&#xff09;。也可以使用 git commit --amend -m "" 直接修改日志&#…...

【深度学习】(1)--神经网络

文章目录 深度学习神经网络1. 感知器2. 多层感知器偏置 3. 神经网络的构造4. 模型训练损失函数 总结 深度学习 深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向。 从上方的内容包含结果&#xff0c;我们可以知道&#xff0c;在学习深度学…...

测试文件和数据库文件

接口测试 flaks项目入口文件manage.py路由配置 import requests#首先面向对象作封装&#xff0c;避免相同代码反复编写 class HttpApiTest:def test_get(self,url,data{}): #用来测试get方法的接口 #self通过共享self类中间的变量 #url用来请求接口 #data可传可不传res reques…...

redis集群模式连接

目录 一&#xff1a;背景 二&#xff1a;实现过程 三&#xff1a;总结 一&#xff1a;背景 redis集群通过将数据分散存储在多个主节点上&#xff0c;每个主节点可以有多个从节点进行数据的复制&#xff0c;以此来实现数据的高可用性和负载均衡。在集群模式下&#xff0c;客户…...

Linux高级I/O:多路转接模型

目录 一.常见的IO模型介绍二.多路转接I/O1.select1.1.函数解析1.2. select特点和缺点1.3.基于 select 的多客户端网络服务器 2.poll2.1.poll函数解析2.2.poll特点和缺点2.3.基于poll的tcp服务器 3.epoll3.1.系列函数解析3.2.epoll原理解析2.3.基于 select 的多客户端网络服务器…...

MongoDB Limit 与 Skip 方法

MongoDB Limit 与 Skip 方法 MongoDB 是一个流行的 NoSQL 数据库&#xff0c;它提供了灵活的数据存储和强大的查询功能。在处理大量数据时&#xff0c;我们常常需要限制返回的结果数量或者跳过一部分结果&#xff0c;这时就可以使用 MongoDB 的 limit 和 skip 方法。 Limit 方…...

【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…...

VulnHub-Bilu_b0x靶机笔记

Bilu_b0x 靶机 概述 Vulnhub 的一个靶机&#xff0c;包含了 sql 注入&#xff0c;文件包含&#xff0c;代码审计&#xff0c;内核提权。整体也是比较简单的内容&#xff0c;和大家一起学习 Billu_b0x.zip 靶机地址&#xff1a; https://pan.baidu.com/s/1VWazR7tpm2xJZIGUS…...

Python | Leetcode Python题解之第421题数组中两个数的最大异或值

题目&#xff1a; 题解&#xff1a; class Trie:def __init__(self):# 左子树指向表示 0 的子节点self.left None# 右子树指向表示 1 的子节点self.right Noneclass Solution:def findMaximumXOR(self, nums: List[int]) -> int:# 字典树的根节点root Trie()# 最高位的二…...

如何将普通Tokenizer变成Fast Tokenizer

现在的huggingface库里面Tokenizer有两种&#xff0c;一种就是普通的&#xff0c;另一种是fast的。fast和普通的区别就是fast使用rust语言编写&#xff0c;在处理大量文本的时候会更快。我自己测试的时候单一一句的话fast要比普通的慢一些&#xff0c;当量叠上来&#xff0c;到…...

功能安全计划:从ISO 26262到IEC 61508的系统性工程实践

1. 项目概述&#xff1a;为什么我们需要一个“功能安全计划”&#xff1f;在汽车和工业领域&#xff0c;一个简单的软件Bug或硬件失效&#xff0c;其后果可能远超一次蓝屏或服务中断。想象一下&#xff0c;一辆高速行驶的汽车&#xff0c;其电子稳定程序&#xff08;ESP&#x…...

别再让脚本报错了!按键精灵CBool、CStr、CInt等6种类型转换函数保姆级教程

按键精灵类型转换实战指南&#xff1a;从报错到精通的六种武器 在自动化脚本开发的世界里&#xff0c;按键精灵就像一位不知疲倦的数字助手&#xff0c;能够代替我们完成各种重复性操作。但这位助手有时也会闹脾气——当你从网页抓取的数据需要计算时&#xff0c;当界面读取的…...

思源宋体完全指南:免费开源中文字体的终极解决方案

思源宋体完全指南&#xff1a;免费开源中文字体的终极解决方案 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为商业项目中的中文字体授权费用而烦恼吗&#xff1f;或者在不同平台…...

UniApp跨端开发实战:一套代码给TabBar同时穿上iOS和Material Design的“毛玻璃”外衣

UniApp跨端毛玻璃TabBar实战&#xff1a;融合iOS与Material Design的设计语言 在移动应用开发中&#xff0c;底部导航栏&#xff08;TabBar&#xff09;作为核心交互组件&#xff0c;其设计直接影响用户体验。随着iOS毛玻璃&#xff08;Blur Effect&#xff09;和Android Mater…...

STM32串口调试玄学翻车?从XCOM 2.3到2.0的降级避坑实录

STM32串口调试的版本陷阱&#xff1a;当XCOM 2.3让你的开发板"沉默"时 调试嵌入式系统时&#xff0c;最令人抓狂的莫过于硬件一切正常&#xff0c;代码毫无问题&#xff0c;但串口就是拒绝工作。最近在STM32F103ZET6开发板上遇到了一个诡异现象&#xff1a;同一块板子…...

Ubuntu虚拟机磁盘空间耗尽导致MySQL启动失败的系统恢复与预防指南

1. 问题现象与核心原因剖析最近在折腾Ubuntu虚拟机时&#xff0c;遇到了一个挺典型的开机故障&#xff1a;系统启动时卡住&#xff0c;屏幕上赫然显示着“Failed to start MySQL Community Server”的错误信息&#xff0c;紧接着系统就停滞不前&#xff0c;无法进入图形界面。这…...

一眼看懂、一秒做对

在很多传统工厂里&#xff0c;管理者常会面临这样的困扰&#xff1a;现场物料堆积混乱、设备状态没人说得清、新员工培训周期长、同样的安全事故反复发生……问题往往不是员工“不努力”&#xff0c;而是信息没有直观、及时地传递到位。这正是工厂目视化管理&#xff08;Visual…...

FPGA实战:I2C总线Verilog状态机设计与调试全解析

1. I2C总线协议基础与实战意义 I2C&#xff08;Inter-Integrated Circuit&#xff09;作为Philips&#xff08;现NXP&#xff09;开发的经典两线制串行总线&#xff0c;在低速设备通信中占据重要地位。我刚开始接触FPGA时&#xff0c;最头疼的就是I2C的时序控制——两根线&…...

从光猫到路由器:DHCP、PPPoE、静态IP三种连接方式的底层原理与实战抓包分析

从光猫到路由器&#xff1a;DHCP、PPPoE、静态IP三种连接方式的底层原理与实战抓包分析 当你面对家庭或企业网络配置时&#xff0c;是否曾疑惑过为什么不同的网络环境会采用截然不同的连接方式&#xff1f;本文将带你深入三种主流上网方式的技术本质&#xff0c;通过Wireshark抓…...

保姆级教程:用HackRF One复现汽车钥匙重放攻击(附完整命令与避坑点)

从零掌握HackRF One信号重放&#xff1a;433MHz汽车钥匙实战全解析 当你在停车场按下车钥匙按钮时&#xff0c;那串看似神秘的无线电波背后隐藏着怎样的安全漏洞&#xff1f;作为硬件安全领域的入门神器&#xff0c;HackRF One让普通爱好者也能窥探射频世界的奥秘。本文将带你用…...