- 学完C语言做不出东西?不存在的,咱们做一个最“隐私”的聊天器,就俩人,你和我。咱们聊天的信息你知我知没别人知。我们直接开始写代码,只要你会基础的C语言,不要担心看不懂,不懂的我帮你刨根问底,把根都挖出来嚼烂,绝对懂。 一、一个聊天软件的基础模型是怎么样的?你是个新手的话你可能就会问,什么是模型?!听不懂,我在骗你学习。放心,我现在就告诉你什么是基础“模型”。我们可以简单的理解“模型”指这个聊... 学完C语言做不出东西?不存在的,咱们做一个最“隐私”的聊天器,就俩人,你和我。咱们聊天的信息你知我知没别人知。我们直接开始写代码,只要你会基础的C语言,不要担心看不懂,不懂的我帮你刨根问底,把根都挖出来嚼烂,绝对懂。 一、一个聊天软件的基础模型是怎么样的?你是个新手的话你可能就会问,什么是模型?!听不懂,我在骗你学习。放心,我现在就告诉你什么是基础“模型”。我们可以简单的理解“模型”指这个聊...
- 使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ。CodeWF.EventBus.Socket 是一个轻量级的、基于 Socket 的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。CommandQuery 特性轻量级:不依赖任何外部 MQ 服务,减少了系统复杂性和依赖。高性能:基于 Sock... 使用 Socket 实现的分布式事件总线,支持 CQRS,不依赖第三方 MQ。CodeWF.EventBus.Socket 是一个轻量级的、基于 Socket 的分布式事件总线系统,旨在简化分布式架构中的事件通信。它允许进程之间通过发布/订阅模式进行通信,无需依赖外部消息队列服务。CommandQuery 特性轻量级:不依赖任何外部 MQ 服务,减少了系统复杂性和依赖。高性能:基于 Sock...
- 在现代网络应用开发中,Socket 编程是一种非常重要的技术,它允许不同设备之间的应用程序通过网络进行通信。本文将从基础概念入手,逐步深入到 Socket 编程中的常见问题和易错点,并通过具体的代码示例来帮助读者更好地理解和掌握这一技术。 1. Socket 基础概念 1.1 什么是 Socket?Socket 是一种通信机制,通过网络实现不同主机上的进程间通信。在 C# 中,可以使用 Sy... 在现代网络应用开发中,Socket 编程是一种非常重要的技术,它允许不同设备之间的应用程序通过网络进行通信。本文将从基础概念入手,逐步深入到 Socket 编程中的常见问题和易错点,并通过具体的代码示例来帮助读者更好地理解和掌握这一技术。 1. Socket 基础概念 1.1 什么是 Socket?Socket 是一种通信机制,通过网络实现不同主机上的进程间通信。在 C# 中,可以使用 Sy...
- 仓颉开发语言的网络编程详解仓颉开发语言是一门新兴的编程语言,特别适合用于开发高效的网络应用。在网络编程中,仓颉提供了对传输层和应用层协议的广泛支持,开发者可以使用其标准库中的 std.socket 和 net.http 包,方便地构建 TCP、UDP、HTTP 以及 WebSocket 的网络通信程序。本篇文章将详细介绍仓颉在网络编程中的使用方法,并通过具体代码实例说明如何编写高效的网络应... 仓颉开发语言的网络编程详解仓颉开发语言是一门新兴的编程语言,特别适合用于开发高效的网络应用。在网络编程中,仓颉提供了对传输层和应用层协议的广泛支持,开发者可以使用其标准库中的 std.socket 和 net.http 包,方便地构建 TCP、UDP、HTTP 以及 WebSocket 的网络通信程序。本篇文章将详细介绍仓颉在网络编程中的使用方法,并通过具体代码实例说明如何编写高效的网络应...
- 仓颉开发语言中的 I/O 操作详解仓颉编程语言作为一种新兴的编程语言,强调简洁与高效,其中 I/O 操作是与外部数据交互的核心部分。本文将深入探讨仓颉语言中的 I/O 流,介绍其基本概念、输入输出流的实现及应用实例。 1. I/O 流概述在仓颉编程语言中,I/O 操作是指与外部载体(如文件、网络、终端等)进行数据交互的过程。仓颉将所有 I/O 操作抽象为数据流(Stream),它们是一串连... 仓颉开发语言中的 I/O 操作详解仓颉编程语言作为一种新兴的编程语言,强调简洁与高效,其中 I/O 操作是与外部数据交互的核心部分。本文将深入探讨仓颉语言中的 I/O 流,介绍其基本概念、输入输出流的实现及应用实例。 1. I/O 流概述在仓颉编程语言中,I/O 操作是指与外部载体(如文件、网络、终端等)进行数据交互的过程。仓颉将所有 I/O 操作抽象为数据流(Stream),它们是一串连...
- 在当今互联网时代,网络编程是程序员不可或缺的一项技能。Python作为一种高级编程语言,提供了丰富的网络编程库,使得开发者能够轻松地实现各种网络应用。本文将介绍Python中两种主要的网络编程方式:Socket编程和基于HTTP协议的网络编程,并通过实际案例来演示它们的应用。 1. Socket编程Socket是实现网络通信的基础。通过Socket,程序可以在网络中传输数据,实现客户端与服务... 在当今互联网时代,网络编程是程序员不可或缺的一项技能。Python作为一种高级编程语言,提供了丰富的网络编程库,使得开发者能够轻松地实现各种网络应用。本文将介绍Python中两种主要的网络编程方式:Socket编程和基于HTTP协议的网络编程,并通过实际案例来演示它们的应用。 1. Socket编程Socket是实现网络通信的基础。通过Socket,程序可以在网络中传输数据,实现客户端与服务...
- 在 Windows 操作系统中,原生提供了强大的网络编程支持,允许开发者使用 Socket API 进行网络通信,通过 Socket API,开发者可以创建、连接、发送和接收数据,实现网络通信。本文将深入探讨如何通过调用原生网络 API 实现同步远程通信,并介绍了一个交互式 Socket 类的封装,提升了编写交互式服务器的便利性。 1. 交互式套接字类为了更好地利用原生网络 API,我们引入... 在 Windows 操作系统中,原生提供了强大的网络编程支持,允许开发者使用 Socket API 进行网络通信,通过 Socket API,开发者可以创建、连接、发送和接收数据,实现网络通信。本文将深入探讨如何通过调用原生网络 API 实现同步远程通信,并介绍了一个交互式 Socket 类的封装,提升了编写交互式服务器的便利性。 1. 交互式套接字类为了更好地利用原生网络 API,我们引入...
- 原生套接字抓包的实现原理依赖于Windows系统中提供的ioctlsocket函数,该函数可将指定的网卡设置为混杂模式,网卡混杂模式(Promiscuous Mode)是常用于计算机网络抓包的一种模式,也称为监听模式。在混杂模式下,网卡可以收到经过主机的所有数据包,而非只接收它所对应的MAC地址的数据包。一般情况下,网卡会根据MAC地址过滤数据包,只有MAC地址与网卡所对应的设备的通信数据包... 原生套接字抓包的实现原理依赖于Windows系统中提供的ioctlsocket函数,该函数可将指定的网卡设置为混杂模式,网卡混杂模式(Promiscuous Mode)是常用于计算机网络抓包的一种模式,也称为监听模式。在混杂模式下,网卡可以收到经过主机的所有数据包,而非只接收它所对应的MAC地址的数据包。一般情况下,网卡会根据MAC地址过滤数据包,只有MAC地址与网卡所对应的设备的通信数据包...
- 任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,x64dbg也不例外其可通过开发插件的方式扩展其自身功能,x64dbg提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,x64dbg还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以C/C++语... 任何一个成熟的软件都会具有可扩展性,可扩展性是现代软件的一个重要特征,因为它使软件更易于维护和适应变化的需求,x64dbg也不例外其可通过开发插件的方式扩展其自身功能,x64dbg提供了多种插件接口,包括脚本插件、DLL插件、Python插件和.NET插件等。此外,x64dbg还支持用户自定义命令和快捷键。这使得用户可以自由地扩展和自定义软件的功能,从而更好地适应开发需求。我们以C/C++语...
- 这篇文章将带你深入探索io_uring用户态接口的神奇之处,它是一项引人注目的技术,能够显著提升IO操作的性能。我们将介绍io_uring的工作原理,并解释它为什么在性能方面与传统接口相比具有明显优势。你将了解到io_uring的异步特性是如何实现的,以及它如何减少了对内核的系统调用次数。我们还将探讨io_uring在实际应用中的潜力和使用场景,以及如何利用它来优化你的应用程序。 这篇文章将带你深入探索io_uring用户态接口的神奇之处,它是一项引人注目的技术,能够显著提升IO操作的性能。我们将介绍io_uring的工作原理,并解释它为什么在性能方面与传统接口相比具有明显优势。你将了解到io_uring的异步特性是如何实现的,以及它如何减少了对内核的系统调用次数。我们还将探讨io_uring在实际应用中的潜力和使用场景,以及如何利用它来优化你的应用程序。
- 当涉及构建快速响应的I/O密集型应用时,io_uring技术展现出了其卓越的潜力。本文摘要将深入探讨如何充分利用io_uring的特性来优化应用程序性能。通过异步I/O操作和高效事件处理,io_uring为开发人员提供了一种强大工具,能够显著减少I/O等待时间并实现更高的吞吐量。 当涉及构建快速响应的I/O密集型应用时,io_uring技术展现出了其卓越的潜力。本文摘要将深入探讨如何充分利用io_uring的特性来优化应用程序性能。通过异步I/O操作和高效事件处理,io_uring为开发人员提供了一种强大工具,能够显著减少I/O等待时间并实现更高的吞吐量。
- 本文深入探讨了如何利用Linux用户态协议栈与DPDK构建高性能应用的方法和技巧。在现代网络编程中,性能是至关重要的,特别是在需要处理大量并发连接的场景下。传统的内核态网络栈在面对高负载时可能会遇到性能瓶颈,而本文介绍了如何借助用户态协议栈和DPDK来突破这些限制。从零开始搭建一个基于用户态协议栈和DPDK的网络应用并不是一件容易的事情,但本文将通过实际示例和步骤指导读者完成这一过程。 本文深入探讨了如何利用Linux用户态协议栈与DPDK构建高性能应用的方法和技巧。在现代网络编程中,性能是至关重要的,特别是在需要处理大量并发连接的场景下。传统的内核态网络栈在面对高负载时可能会遇到性能瓶颈,而本文介绍了如何借助用户态协议栈和DPDK来突破这些限制。从零开始搭建一个基于用户态协议栈和DPDK的网络应用并不是一件容易的事情,但本文将通过实际示例和步骤指导读者完成这一过程。
- 本文深入剖析了Linux网络设计中网络IO的重要角色。网络IO在Linux系统中扮演着关键的角色,负责管理和协调数据在网络中的传输。我们将探讨网络IO的基本概念、作用和实现原理。首先介绍了Linux网络IO的核心组件,如套接字、文件描述符和缓冲区,以及它们在网络通信中的作用。然后详细解释了常见的网络IO模型,包括阻塞IO、非阻塞IO、多路复用IO和异步IO,并比较它们的特点和适用场景。 本文深入剖析了Linux网络设计中网络IO的重要角色。网络IO在Linux系统中扮演着关键的角色,负责管理和协调数据在网络中的传输。我们将探讨网络IO的基本概念、作用和实现原理。首先介绍了Linux网络IO的核心组件,如套接字、文件描述符和缓冲区,以及它们在网络通信中的作用。然后详细解释了常见的网络IO模型,包括阻塞IO、非阻塞IO、多路复用IO和异步IO,并比较它们的特点和适用场景。
- 本篇文章为BIO与阻塞IO的续篇,详细介绍了select、poll以及epoll等多路复用组件的使用方法以及底层原理。尤其详细分析了epoll的源码,做到一篇文章完全搞懂I/O多路复用模型 本篇文章为BIO与阻塞IO的续篇,详细介绍了select、poll以及epoll等多路复用组件的使用方法以及底层原理。尤其详细分析了epoll的源码,做到一篇文章完全搞懂I/O多路复用模型
- 《深入架构 第十四篇》 《深入架构 第十四篇》
上滑加载中
推荐直播
-
手把手教你在 CodeArts 上部署敏捷流水线
2024/12/31 周二 16:30-18:00
Jerry 华为云生态技术讲师
CodeArts的适用场景以及如何从CodeArts Pipeline出发,一步步添加关联工具,最后让整个流水线流动起来,一起来动手试试吧。
即将直播 -
GaussDB数据库介绍
2025/01/07 周二 16:00-18:00
Steven 华为云学堂技术讲师
本期直播将介绍GaussDB数据库的发展历程、优势、架构、关键特性和部署模式等,旨在帮助开发者了解GaussDB数据库,并通过手把手实验教大家如何在华为云部署GaussDB数据库和使用gsql连接GaussDB数据库。
去报名
热门标签