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

Golang | Zinx学习笔记(一)

参考

http://zinx.me/
https://www.kancloud.cn/aceld/zinx/1960213
https://www.yuque.com/aceld/tsgooa/gx01meg5ow4pftac


说明

zinx是一个基于Golang的轻量级并发服务器框架。

目前zinx已经在很多企业进行开发使用,具体使用领域包括:后端模块的消息中转、长链接游戏服务器、Web框架中的消息处理插件等。zinx的定位是代码简洁,让更多的开发者迅速的了解框架的内脏细节并且可以快速基于zinx DIY(二次开发)一款适合自己企业场景的模块。

zxin v0.1

zxin v0.1的代码比较基础,就是一些接口定义,服务的监听。项目结构如下:

在这里插入图片描述
IServer接口定义:
在这里插入图片描述

运行测试文件

cd znet
go test

在这里插入图片描述


Zinx-V0.2-简单的连接封装与业务绑定

V0.1版本我们已经实现了一个基础的Server框架,现在我们需要对客户端链接和不同的客户端链接所处理的不同业务再做一层接口封装,当然我们先是把架构搭建起来。代码结构如下:
在这里插入图片描述
IConnection接口定义:
在这里插入图片描述

该接口的一些基础方法,代码注释已经介绍的很清楚,这里先简单说明一个HandFunc这个函数类型,这个是所有conn链接在处理业务的函数接口,第一参数是socket原生链接,第二个参数是客户端请求的数据,第三个参数是客户端请求的数据长度。这样,如果我们想要指定一个conn的处理业务,只要定义一个HandFunc类型的函数,然后和该链接绑定就可以了。

运行测试文件

cd znet
go test

在这里插入图片描述

总结

0.1和0.2版本的代码比较基础,就是一些对http的封装。

相关文章:

Golang | Zinx学习笔记(一)

参考 http://zinx.me/ https://www.kancloud.cn/aceld/zinx/1960213 https://www.yuque.com/aceld/tsgooa/gx01meg5ow4pftac 说明 zinx是一个基于Golang的轻量级并发服务器框架。 目前zinx已经在很多企业进行开发使用,具体使用领域包括:后端模块的消息中转、长链…...

【Java 进阶篇】在Java Web应用中获取ServletContext对象详解

在Java Web应用开发中,ServletContext对象扮演着重要的角色,它允许你在整个Web应用程序中存储和共享数据。ServletContext对象是Servlet容器提供的一种用于管理Web应用程序的全局信息的方式。本文将详细探讨ServletContext对象的概念、用途以及如何在Jav…...

负债6W,依靠这个项目副业6个月还清欠款,还多存了10W+

真不敢想象负债6W“走投无路”的我还能通过副业逆天翻盘,6个月还清欠款,还让我多了10W存款,现在小日子也是相当滋润,吃穿不愁,不用过多为生计而奔波操劳。 仅代表个人收益 网盘下载地址:【安卓软件】音魔变…...

快速了解ClickHouse!

简介 ClickHouse是一个开源列式数据库管理系统(DBMS),用于在线分析处理(OLAP): 列式存储:与传统的行式数据库不同,ClickHouse以列的形式存储数据,这使得在分析大量数据时…...

PythonWEB

文章目录 前端简介1. 什么是网页2. 网页的组成3. 网页的优势4. 前端三剑客5. 编写步骤6. HTTP协议 HTML51. HTML介绍2. 元素3. 使用4. 基本结构解析5. 常用标签文本标签容器标签列表标签表格标签表单标签 对于文件数据的提交需要满足以下两个条件:6. 标签分类 前端简…...

【工具问题】IDEA每次关闭的时候都会弹框显示closing project,然后弹框持续很久就像卡住了

idea关闭的时候出现问题 问题展示为什么会出现这种情况怎么解决 问题展示 我idea已经关闭了,但是这个弹框要持续很久才能关闭 为什么会出现这种情况 我的plugins原本是加载不出来的,所以我按照网上说法去做 怎么解决 file->setting,再如图选择…...

从瀑布模式到水母模式:ChatGPT如何赋能软件研发全流程

文章目录 前言内容简介作者简介专家推荐读者对象直播预告 前言 计算机技术的发展和互联网的普及,使信息处理和传输变得更加高效,极大地改变了金融、商业、教育、娱乐等领域的运作方式。数据分析、人工智能和云计算等新兴技术,也在不断地影响和…...

类变量/方法、main语法、代码块

一.类变量和方法 思维导图概览: 1.1类变量(静态变量) 1.什么叫做类变量/方法? ——给类中的成员属性或成员方法加上static关键字进行修饰,类变量/方法也叫做静态变量/方法,静态变量/方法被类的自身所有对…...

[SHCTF 校外赛道] crypto

终于都结束了,这些新生赛太漫长了。不过这个也还是有些难度的,好多整不来。抓紧时间整理一下。 week1 第1周基本是古典密码,古典和现代最大的区别是古典全靠猜,现在都是数学 立正 wl hgrfhg 4gNUx4NgQgEUb4NC64NHxZLg636V6CDBi…...

vue3从基础到入门(一)

文章目录 简介提升使用创建脚手架vite 常用Composition APIsetuprefreactive函数响应式vue2响应式vue3实现响应式 reactive对比ref注意计算属性computed函数 监视watch函数watchEffect函数 生命周期hook函数toRef 简介 2020年9月18日,Vue.js发布3.0版本&#xff0c…...

枚举类型 表示不同的 HTTP 状态码和相应的错误消息

java web业务中经常用常量来表示不同的 HTTP 响应状态,比如 public enum AppHttpCodeEnum {// 成功段0SUCCESS(200,"操作成功"),// 登录段1~50NEED_LOGIN(1,"需要登录后操作"),LOGIN_PASSWORD_ERROR(2,"密码错误"),// TOKEN50~100TOKEN_INVALID…...

SAP 使用cl_gui_timer自动刷新屏幕的用法详解 <转载>

原文链接:https://blog.csdn.net/SAPmatinal/article/details/130483382 SAP 使用cl_gui_timer自动刷新屏幕的用法详解 这个类在初始化的时候会设置一个定时间隔,每隔这个时间就会触发一次FINISHED事件。利用这个类的特性,可以实现很多东西&…...

golang中的Interface接口 类型断言、接口赋值、空接口的使用、接口嵌套

Interface整理 文章目录 Interface整理接口嵌套接口类型断言类型判断 type-switch使用方法集与接口空接口实例 接口赋值给接口 接口是一种契约,实现类型必须满足它,它描述了类型的行为,规定类型可以做什么。接口彻底将类型能做什么&#xff0…...

使用设计模式省去大量的if-elsef分支

1.测试类 Testpublic void test7() {/*** 使用设计模式前*///模拟入参String name "?";if("张三".equals(name)){System.out.println("按照张三的策略执行的任务!");}else if ("李四".equals(name)){System.out.println("按照李…...

Tomcat安装与配置文件解读

简介 Tomcat是Apache软件基金会(Apache Software Foundation)项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在…...

计算机网络重点概念整理-第一章 计算机网络概述【期末复习|考研复习】

计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称&缩写 文章目录 前言一、计算机网络概述1.1 计算机网络的定义:1.2 计算机网…...

Day 11 python学习笔记

模块 内置模块 random random:随机数模块 我们可以在解释器中看到其蕴含的方法 接下来我解释一些常用的方法: random.random( ) random.random( ) 返回0-1的随机数 [0,1) >>> random.random() 0.364183511476754 random.randint(n,m) r…...

HarmonyOS鸿蒙原生应用开发设计- 图标库

HarmonyOS设计文档中,为大家提供了独特的图标库,开发者可以根据需要直接引用。 图标库可以分为双色图标、填充图标、线性图标。具体分为 键盘、箭头、连接状态、媒体、人、设备、索引、通信、文件、物体与工具等。 整体分类 开发者直接使用官方提供的图标…...

微软bing大声朗读文档或网页卡顿老是中断,用离线的huihui就很流畅但没那么自然

默认的xiaoxiao_online好听,但卡顿,朗读功能确实受到了网络状态的影响。 大概率是网络问题。...

Java VMTranslator Part I

目录 堆栈运算命令 基本思路 核心代码 Parser Code Writer Main 实验结果,使用SimpleAdd、StackTest进行验证 内存访问命令 基本思路 核心代码 Parser Code Writer Main 实验结果,使用进行验证。对比生成的二进制代码文件。 用Java写一个翻…...

PFC5.03D三轴流固耦合仿真:压力卸除下的网格分析

PFC5.03D三轴泄围压条件下的流固耦合 带网格。在岩石力学的仿真中,PFC5.03D软件提供了一种有效的方式来模拟颗粒的流动和结构稳定性。三轴试验是岩石力学中最常用的测试方法之一,特别是当压力发生卸除时,材料的表现往往最能反映其本质特性。…...

晶体塑性损伤模型的魔改日常——手把手拆解应力更新核心

基于huang晶体塑性有限元损伤演化代码,包含应力更新,送inp文件. (包含损伤演化)(损伤后应力更新)最近在折腾Huang的晶体塑性框架,发现原版代码在损伤处理上还是太"干净"了。趁着周末撸了个损伤演化模块&…...

告别重复劳动,用快马平台生成powershell脚本大幅提升数据处理效率

告别重复劳动,用快马平台生成powershell脚本大幅提升数据处理效率 最近接手了一个需要定期汇总销售数据的任务,每个月都要手动合并几十个Excel文件,然后计算各种统计指标。这种重复性工作不仅耗时耗力,还容易出错。直到发现了Ins…...

Spring Boot + JPA实战:RBAC权限管理系统从零搭建(附完整代码)

Spring Boot与JPA深度整合:构建企业级RBAC权限系统的实战指南 在当今企业应用开发中,权限管理是保障系统安全的核心组件。基于角色的访问控制(RBAC)模型因其清晰的权限分配逻辑和灵活的可扩展性,成为大多数系统的首选方案。本文将带您从零开始…...

医用擦拭纸选购指南:看懂这五大认证,避开医疗耗材采购“隐形坑

# 医用擦拭纸选购指南:看懂这五大认证,避开医疗耗材采购“隐形坑”> 在医疗领域,每一片看似普通的擦拭纸,都直接关系到诊疗安全、院感控制和患者健康。对于医疗器械经销商、医院后勤管理者而言,选择供应商时最核心的…...

提示工程架构师成长必备:物流规划中的上下文评估方法

提示工程架构师成长必备:物流规划中的上下文评估方法 引言 背景介绍 在当今数字化和全球化的商业环境中,物流规划的重要性不言而喻。高效的物流规划能够显著降低企业成本、提高客户满意度,进而增强企业的市场竞争力。而随着人工智能技术的不断…...

Dify工作流HTTP请求配置进阶指南:从入门到精通

Dify工作流HTTP请求配置进阶指南:从入门到精通 【免费下载链接】Awesome-Dify-Workflow 分享一些好用的 Dify DSL 工作流程,自用、学习两相宜。 Sharing some Dify workflows. 项目地址: https://gitcode.com/GitHub_Trending/aw/Awesome-Dify-Workflo…...

微信云托管部署Spring Boot后端实战:从Dockerfile编写到公网访问(避坑MySQL/Redis配置)

微信云托管部署Spring Boot后端实战:从Dockerfile编写到公网访问(避坑MySQL/Redis配置) 在当今前后端分离架构盛行的时代,后端服务的稳定部署成为项目成功的关键一环。微信云托管作为腾讯云推出的容器化托管平台,为开…...

用AirScript脚本自动发送生日祝福邮件(极简版)

1. 为什么需要自动发送生日祝福邮件? 你有没有遇到过这样的情况?明明记得朋友的生日快到了,结果当天忙得团团转,等想起来的时候已经过了零点。或者更尴尬的是,设置了手机提醒,但看到通知后想着"等会儿…...

旧设备重生:用OpenCore Legacy Patcher实现Mac系统升级的完整指南

旧设备重生:用OpenCore Legacy Patcher实现Mac系统升级的完整指南 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 您的Mac是否因硬件限制无法升级到最新macOS系…...