Socket通讯协议理解及客户端服务器程序流程
Socket通讯我们可以从以下几个方面简单理解
1.Socket是网络通信中的一项重要技术,它提供了在网络上进行数据交换的接口。用C#、Java、C++等开发语言,都可以开发Socket网络通信程序。
2.Socket(套接字)是计算机网络编程中的一种抽象,它允许不同的计算机或网络设备通过网络进行数据交换。Socket在应用层和传输层之间提供了一个接口,用于实现进程之间的通信。在网络通信中, Socket通常被用来标识一个通信链路的两端,即客户端和服务器端。
3.Socket协议分为两类:TCP Socket和UDP Socket两种类型。
类型一,TCP Socket: 基于TCP (传输控制协议) 的 Socket。TCP是一种面向连接的协议, 它提供可靠的、有序的数据传输。TCP Socket通过三次握手建立连接,确保数据的可靠性和顺序性,适用于数据传输稳定和安全性较高的场景。
类型二,UDP Socket:基于UDP (用户数据报协议)的 Socket。UDP是一种无连接的协议,它提供了简单的数据传输服务,但不保证数据的可靠性和顺序性。UDP Socket无需建立连接,适用于一些实时性要求高、允许一定数据丢失的应用场景。
4.Socket协议是基于客户端-服务器模型,客户端和服务器程序工作流程包括:
服务器端程序:
创建一个 Socket对象,用于监听客户端的连接请求。
将 Socket对象绑定到一个特定的地址和端口上,以便客户端能够连接到该地址和端口。
调用 Socket对象的 listen方法来开始监听客户端的连接请求。
当客户端发起连接请求时,服务器端调用 accept方法来接受连接,并创建一个新的Socket对象用于与该客户端进行通信。
客户端程序:
创建一个 Socket对象,用于与服务器端建立连接。
调用 Socket对象的 connect方法来连接服务器,发送连接请求给服务器端。
一旦连接建立成功,客户端就可以通过 Socket对象的 send方法向服务器端发送数据。
客户端通过 Socket对象的 recv方法来接收服务器端发送的响应数据。
数据传输可以是文本或二进制格式的数据。
开发客户端和服务器程序时需要“网络调试助手”软件配合。
当开发客户端程序时,让“网络调试助手”做服务端,与正开发的程序配合调试。
当开发服务端程序时,让“网络调试助手”做客户端,与正开发的程序配合调试。
“XZ网络调试助手V2.31”是一个非常好用的网络调试软件,支持TCP、UDP、客户端调试、服务端调试。免费而且是绿色软件,只有一个执行文件不用安装。
XZ网络调试助手V2.31,免费的非常好用的网络调试工具 下载链接https://download.csdn.net/download/luckyext/90360310
Socket协议应用非常广泛,包括Web开发、即时通讯、游戏开发、远程控制、智能家居等场合。
相关文章:
Socket通讯协议理解及客户端服务器程序流程
Socket通讯我们可以从以下几个方面简单理解 1.Socket是网络通信中的一项重要技术,它提供了在网络上进行数据交换的接口。用C#、Java、C等开发语言,都可以开发Socket网络通信程序。 2.Socket(套接字)是计算机网络编程中的一种抽象,它允许不同…...
ceph部署-14版本(nautilus)-使用ceph-ansible部署实验记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、环境信息二、部署步骤2.1 基础环境准备2.2 各节点docker环境安装2.3 搭建互信集群2.4 下载ceph-ansible 三、配置部署文件3.1 使用本地docker3.2 配置hosts…...
vue3 + thinkphp 接入 七牛云 DeepSeek-R1/V3 流式调用和非流式调用
如何获取七牛云 Token API 密钥 https://eastern-squash-d44.notion.site/Token-API-1932c3f43aee80fa8bfafeb25f1163d8 后端 // 七牛云 DeepSeek API 地址private $deepseekUrl https://api.qnaigc.com/v1/chat/completions;private $deepseekKey 秘钥;// 流式调用public f…...
vlanif接口转发vlan
一.为什么需要VLAN 1.1 什么是VLAN? VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——…...
Rook-ceph(1.92最新版)
安装前准备 #确认安装lvm2 yum install lvm2 -y #启用rbd模块 modprobe rbd cat > /etc/rc.sysinit << EOF #!/bin/bash for file in /etc/sysconfig/modules/*.modules do[ -x \$file ] && \$file done EOF cat > /etc/sysconfig/modules/rbd.modules &l…...
第2章 信息技术发展(一)
2.1 信息技术及其发展 2.1.1 计算机软硬件 计算机硬件(Computer Hardware)是指计算机系统中由电子、机械和光电元件等组成的各种物理装置的总称。 计算机软件 (Computer Software)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述; 文档…...
python学习笔记,python处理 Excel、Word、PPT 以及邮件自动化办公
文章目录 前言一、环境搭建1. 下载 Python2. 安装 Python 二、处理 Excel 文件(openpyxl库)三、 处理 Word 文件(python-docx库)四、 处理 PPT 文件(python-pptx库)五、 自动发送邮件(smtplib和…...
【网络基本知识--2】
网络基本知识--2 1.主机A和主机B通过三次握手TCP连接,过程是: TCP三次握手连接过程如下: 1.客户端发送SYN(SEQx)报文发送给服务器端,进入SYN_SEND状态; 2.服务器端收到SYN报文,回应一个SYN(SEQy)ACK(ACKx1)…...
MoE硬件部署
文章目录 MoE硬件部署硬件需求**专家硬件映射:模块化计算单元****路由硬件加速:门控网络专用单元****内存与通信优化****能效控制策略****实例:假设部署Mixtral 8x7B到自研AI芯片** 资源分配硬件资源预分配(编译时)运行…...
摄影——曝光三要素
曝光三要素 光圈(F):控制进光量的装置快门(1/X):接受光线的时间感光度(ISO):感光器件对光线的敏感程度 一、快门(1/X) 静物 1/125 动物 1/500 …...
DeepSeek-R1论文阅读及蒸馏模型部署
DeepSeek-R1论文阅读及蒸馏模型部署 文章目录 DeepSeek-R1论文阅读及蒸馏模型部署摘要Abstract一、DeepSeek-R1论文1. 论文摘要2. 引言3. DeepSeek-R1-Zero的方法3.1 强化学习算法3.2 奖励建模3.3 训练模版3.4 DeepSeek-R1-Zero的性能、自进化过程和顿悟时刻 4. DeepSeek-R1&am…...
一周学会Flask3 Python Web开发-post请求与参数获取
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili app.route 装饰器默认只支持get请求。假如我们要让绑定的视图函数支持其他请求方式,我们可以在methods属性里配置…...
Python的那些事第二十五篇:高效Web开发与扩展应用实践FastAPI
FastAPI:高效Web开发与扩展应用实践 摘要 FastAPI 是一种基于 Python 的现代 Web 框架,以其高性能、自动文档生成、数据验证和异步支持等特性受到开发者的青睐。本文首先介绍了 FastAPI 的核心特性及其开发流程,然后通过实际案例探讨了其在异步编程、微服务架构、WebSocket…...
ES6模块化和CommonJs模块化区别
ES6模块化和CommonJs模块化区别 在JavaScript中,模块化是将代码拆分成独立的块,每个块可以独立封装和管理。ES6模块化和CommonJS是两种常见的模块化规范,它们在语法、加载方式和运行时特性上有显著差异。 语法差异 CommonJS模块使用requir…...
情书网源码 情书大全帝国cms7.5模板
源码介绍 帝国cms7.5仿《情书网》模板源码,同步生成带手机站带采集。适合改改做文学类的网站。 效果预览 源码获取 情书网源码 情书大全帝国cms7.5模板...
文档检测校正的重要性
鸿蒙操作系统(HarmonyOS)是华为推出的一款面向未来、面向全场景的分布式操作系统。它旨在为用户提供流畅、安全、可靠的跨设备交互体验,支持多种终端设备,如智能手机、平板电脑、智能穿戴设备等。为了确保文档在不同设备上的一致性…...
深入解析iOS视频录制(二):自定义UI的实现
深入解析 iOS 视频录制(一):录制管理核心MWRecordingController 类的设计与实现 深入解析iOS视频录制(二):自定义UI的实现 深入解析 iOS 视频录制(三):完…...
基于开源Odoo、SKF Phoenix API与IMAX-8数采网关的圆织机设备智慧运维实施方案 ——以某纺织集团圆织机设备管理场景为例
一、方案背景与需求分析 1.1 纺织行业设备管理痛点 以某华东地区大型纺织集团为例,其圆织机设备管理面临以下挑战: 非计划停机损失高:圆织机主轴轴承故障频发,2024年单次停机损失达12万元(停机8小时导致订单延误&am…...
Deepseek 万能提问公式:高效获取精准答案
### **Deepseek 万能提问公式:高效获取精准答案** 在使用 Deepseek 或其他 AI 工具时,提问的质量直接决定了答案的精准度和实用性。以下是一个万能的提问公式回答: --- ### **1. 明确背景(Context)** - **作用**…...
SQL进阶技巧:如何统计用户跨端消费行为?
目录 0 问题描述 2 问题剖析 技术难点解析 3 完整解决方案 步骤1:构造全量日期平台组合 步骤2:用户行为标记 步骤3:最终关联聚合 4 核心技巧总结 5 复杂度评估 往期精彩 0 问题描述 支出表: Spending +-------------+---------+ | Column Name | Type | +-----…...
DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
对于个人开发者或尝鲜者而言,本地想要部署 DeepSeek 有很多种方案,但是一旦涉及到企业级部署,则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型,以及我们所要部署的模型&…...
算法——舞蹈链算法
一,基本概念 算法简介 舞蹈链算法(Dancing Links,简称 DLX)是一种高效解决精确覆盖问题的算法,实际上是一种数据结构,可以用来实现 X算法,以解决精确覆盖问题。由高德纳(Donald E.…...
【复现DeepSeek-R1之Open R1实战】系列5:SFT源码逐行深度解析
目录 3 SFT源码分析3.1 accelerate3.1.1 关键特性3.1.2 使用场景3.1.3 简单示例 3.2 代码主入口3.3 设置随机种子3.4 设置Log3.5 加载数据集3.6 加载Tokenizer3.7 模型参数配置初始化3.8 初始化SFT Trainer3.9 开始训练3.9.1 主函数3.9.2 核心循环3.9.3 单步训练3.9.4 原始Loss…...
WPF8-常用控件
目录 写在前面:1. 按钮控件1.1. Button 按钮1.2. RepeatButton:长按按钮1.3. RadioButton:单选按钮 2. 数据显示控件2.1. TextBlock:只读文本控件2.2. Lable:标签 显示文本控件2.3. ListBox:显示可选择项的列表2.4. DataGrid&…...
单元测试整理
在国外软件开发中,单元测试必不可少,但是国内并不太重视这一块,一个好的单元测试可以提前发现很多问题,也减去和测试battle的时间 Spring单元测试 JUnit4 RunWith 指明单元测试框架 e.g. RunWith(SpringJUnit4ClassRunner.cla…...
代码随想录刷题day24|(字符串篇)151.反转字符串中的单词
一、题目思路 1.快慢指针移除字符串首尾以及单词中的多余空格 类似前面数组篇--移除元素代码随想录刷题day02|(数组篇)27.移除元素、26.删除有序数组中的重复项_代码随想录网站-CSDN博客 快指针fast遍历整个字符串,慢指针slow指向新字符串…...
六、敏捷开发工具:项目管理工具
一、敏捷开发工具 在敏捷开发过程中,项目管理工具是支持团队高效协作、任务跟踪和项目进度控制的关键因素。随着敏捷方法的普及,市场上出现了多种工具来帮助团队进行需求管理、任务分配、进度跟踪以及反馈收集等任务。本文将对常用的敏捷开发项目管理工具(如Jira、Trello、…...
VMware按照的MacOS升级后无法联网
背景 3年前公司使用Flutter开发了一款app,现在app有微小改动需要重新发布到AppStore 问题 问题是原来的Vmware搭建的开发环境发布App失败了 提示:App需要使用xcode15IOS 17 SDK重新构建,这样的话MacOS至少需要升级到13.5 Xcode - 支持 - Ap…...
I2C、SPI、UART
I2C:串口通信,同步,半双工,双线(数据线SDA时钟线SCL),最大距离1米到几米 SPI(串行外设接口):串口通信,同步,全双工,四线&…...
3.2 Hugging Face Transformers库深度解析:大模型开发的一站式解决方案
Hugging Face Transformers库深度解析:大模型开发的一站式解决方案 一、Transformers库定位:NLP领域的"模型工厂" 1.1 核心定义与技术定位 Hugging Face Transformers 是一个开源的Python库,专为自然语言处理(NLP)、计算机视觉(CV)和语音任务设计。它提供:…...
