【基础知识】网络套接字编程
- 套接字
- 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,continue break: 跳出while语句 #include<stdio.h> int main() {int a 0;wh…...

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

828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Halo博客平台
828华为云征文 | 云服务器Flexus X实例,Docker集成搭建Halo博客平台 Halo博客平台是一款基于Java的开源博客系统,以其简单易用、功能强大、美观大方等特点而受到广泛欢迎,采用了多种先进的技术框架,包括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是什么? Vue.js 是一个用于构建用户界面的渐进式 JavaScript 框架。它的核心库只关注视图层,采用自下而上的增量开发设计,这使得你可以将 Vue 轻松地整合到现有的项目中,或者与其他前端库一起使用。Vue 的目标是通过提供反…...

Linux系统应用之知识补充——OpenEuler(欧拉)的安装和基础配置
前言 这篇文章将会对OpenEuler的安装进行详解,一步一步跟着走下去就可以成功 注意 :以下的指令操作最好在root权限下进行(即su - root) ☀️工贵其久,业贵其专! 1、OpenEuler的安装 这里我不过多介绍&a…...
Git(4):修改git提交日志
修改最新一次提交的信息 git commit --amend 修正提交信息 在打开的编辑器中修改信息,保存并退出,Git 会用新的提交信息替换掉旧的提交信息(commit-id 变化)。也可以使用 git commit --amend -m "" 直接修改日志&#…...

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

测试文件和数据库文件
接口测试 flaks项目入口文件manage.py路由配置 import requests#首先面向对象作封装,避免相同代码反复编写 class HttpApiTest:def test_get(self,url,data{}): #用来测试get方法的接口 #self通过共享self类中间的变量 #url用来请求接口 #data可传可不传res reques…...
redis集群模式连接
目录 一:背景 二:实现过程 三:总结 一:背景 redis集群通过将数据分散存储在多个主节点上,每个主节点可以有多个从节点进行数据的复制,以此来实现数据的高可用性和负载均衡。在集群模式下,客户…...

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 数据库,它提供了灵活的数据存储和强大的查询功能。在处理大量数据时,我们常常需要限制返回的结果数量或者跳过一部分结果,这时就可以使用 MongoDB 的 limit 和 skip 方法。 Limit 方…...

【2025】中医药健康管理小程序(安卓原生开发+用户+管理员)
博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…...

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

Python | Leetcode Python题解之第421题数组中两个数的最大异或值
题目: 题解: 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有两种,一种就是普通的,另一种是fast的。fast和普通的区别就是fast使用rust语言编写,在处理大量文本的时候会更快。我自己测试的时候单一一句的话fast要比普通的慢一些,当量叠上来,到…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...