代码编织梦想

粘包/半包及解决方案-爱代码爱编程

一、粘包/半包介绍 1:粘包 粘包(Packet Concatenation)通常发生在基于流式传输协议(如 TCP)的通信中,因为 TCP 是面向流的传输协议,它不保证数据包的边界,而是将数据视为连续的字节流,它表示客户端发送多条消息,服务端只收到了一条消息 2:半包 半包(Half Packet)与粘包问题相反。在半包问题中,接收端接收

netcore itext7 创建、编辑pdf插入表格、图片、文字(三)-爱代码爱编程

NetCore 创建、编辑PDF插入表格、图片、文字 NetCore 创建、编辑PDF插入表格、图片、文字(二) NetCore 创建、编辑PDF插入表格、图片、文字(三) 直接上代码 nuget引入 itext7 u

c#使用itext7画发票pdf——字体于自定义颜色-爱代码爱编程

字体可以引用windows自带的字体,引用方式如下: //楷体 PdfFont KT = PdfFontFactory.CreateFont(“C://Windows//Fonts//SIMKAI.TTF”, Pdf

c#使用linq封装分页查询-爱代码爱编程

在C#中,使用LINQ进行数据访问时,可以轻松实现排序、分页等操作。下面是一个通过LINQ实现的包含排序、页码、页大小的分页查询方法示例。这个示例假设我们使用的是EF Core作为ORM框架。 分页查询方法 这个方法将会

c#执行命令行-爱代码爱编程

效果图 主要代码方法 private Process p; public List<string> ExecuteCmd(string args) { System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.Fil

c#绘制面形图-爱代码爱编程

创建windows窗体应用 ,从工具箱添加Button和Panel using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using

c# 可空类型-爱代码爱编程

文章目录 C# 可空类型C# 单问号 ?运行结果 Null 合并运算符( ?? )运行结果 C# 可空类型 C# 单问号 ? using System; using Syst

c#上位机与欧姆龙plc的通信01-爱代码爱编程

 最近,【西门庆】作为项目经理负责一个70万的北京项目,需要在工控系统集成软件开发中和欧 姆龙PLC对接,考虑项目现场情况优先想到了采用FinsTCP通讯协议,接下来就是记录如何一步步实现这些通讯过程的,希望给电气工程师,软件工程师,特别是工业软件开发人员带来福利。 1、欧姆龙PLC介绍 欧姆龙PLC是工控领域市场率较高的品牌之一,有低端CP/CH系列

c#中的for与foreach循环:一场性能对话与实战解析-爱代码爱编程

引言 在C#编程实践中,选择适当的循环结构对程序性能至关重要,尤其是在处理大量数据或追求极致运行效率时。本文将深入探讨C#中的两种主要迭代机制——传统的for循环和基于集合迭代器的foreach循环之间的性能对比。我们将结合理论分析、实际案例及测试数据,揭示两者在不同场景下的表现差异。1. 理论基础与工作原理1.1 For循环 for循环是一种通用的迭代结

深入理解c#中的文件输入输出机制及其应用实践-爱代码爱编程

文章目录 引言文件与流的概念System.IO命名空间下的关键类FileStream类的详细使用BinaryWriter与BinaryReader的实际运用目录与文件操作路径操作文件状态检查与移动、复制缓冲流的

c#关键字 abstract、virtual-爱代码爱编程

abstract abstract 修饰符可用于类、方法、属性、索引和事件。 抽象类具有以下功能: 抽象类仅用作派生类的基类,而不能实例化。无法使用 sealed 修饰符来修改抽象类,因为两个修饰符的含义相反。 sea

c#关键字 namespace-爱代码爱编程

namespace 关键字用于声明包含一组相关对象的作用域。 可以使用命名空间来组织代码元素并创建全局唯一类型。 在命名空间中,可以声明零个或多个以下类型: class 类interface 接口struct 结构体en

c#面:简述 linq-爱代码爱编程

C# 中的 LINQ(Language Integrated Query)是集成查询语言,它允许我们在编写代码时使用类似于 SQL 的查询语法来查询和操作各种数据源,如集合、数据库、XML 等。 LINQ 的主要特点包括: 统一的查询语法:LINQ 提供了一种统一的查询语法,无论是查询集合、数据库还是 XML,我们都可以使用相同的语法进行查询和操作。强

关于使用tcp-爱代码爱编程

我们可以使用TCP-S7协议读写西门子PLC, 比如PLC中定义一个String[50] 的地址DB300.20 地址DB300.20 DB块编号为300,偏移量【地址】是30 S7协议是西门子PLC自定义的协议,默认端口102,本质仍然是TCP协议的一种具体实现, 如果使用C#读写西门子PLC协议,需要开启一个TcpClient,然后连接102

c#上位机与欧姆龙plc的通信06-爱代码爱编程

1、介绍  对于上位机开发来说,欧姆龙PLC支持的主要的协议有Hostlink协议,FinsTcp/Udp协议,EtherNetIP协议,本项目使用Hostlink协议。  Hostlink协议是欧姆龙PLC与上位机链接的公开协议。上位机通过发送Hostlink命令,可以对PLC进行I/O读写、可以对PLC进行I/O读写、改变操作模式、强制置位/复位等

24.3.24 《clr via c#》 笔记10-爱代码爱编程

第十三章 接口 类和接口继承 CLR不支持多继承,因此所有托管编程语言都不支持任何类都从且只能从一个类派生(最终从Object类派生)定义接口实际只是对一组方法进行了统一的命名,类通过指定接口名称来继承接口,且必须显

[c#] .net8增加了arm架构的多寄存器的查表函数(vectortablelookup/vectortablelookupextension)-爱代码爱编程

发现.NET8增加了Arm架构的多寄存器的查表函数(VectorTableLookup/VectorTableLookupExtension),这给编写SIMD向量化算法带来了方便。 一、指令说明 在学习Arm的AdvS

[maui]集成高德地图组件至.net maui blazor项目-爱代码爱编程

文章目录 前期准备:注册高德开发者并创建 key登录控制台创建 key获取 key 和密钥 创建项目创建JS API Loader配置权限创建定义创建模型创建地图组件创建交互逻辑 项目地址

c#新语法(持续更新)-爱代码爱编程

文章目录 顶级语句全局using 指令Using资源管理文件范围的命名空间声明可空的引用类型记录(record)类型 顶级语句  C#9.0中直接在C#文件中直接编写入口方法的代码,不用类,不

rider下ef core迁移-爱代码爱编程

新建数据库 create database mockstu 新建web项目 安装Microsoft.EntityFrameworkCore.SqlServer包 设置连接字符串 新建model using