随笔 - 632  文章 - 17  评论 - 54  阅读 - 92万
12 2021 档案
Qt创建一个按钮,点击按钮关闭窗口
摘要:一、概述 开发工具:Qt Creator QApplication类简单介绍: QApplication应用程序类 1.管理图形用户界面应用程序的控制流和主要设置。 2.是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件处理和调度。它也处理应用程序的初始化和结束,并且 阅读全文
posted @ 2021-12-22 15:20 飘杨...... 阅读(3093) 评论(0) 推荐(0) 编辑
使用libevent实现一个简单的tcp服务端
摘要:一、概述 1.特点: 1.事件驱动、高性能、轻量级、专注于网络 2.源代码精炼、易读 3.跨平台 4.支持多种I/O多路复用技术,如epoll 、poll 、select等 5.支持I/O和信号等事件 2.使用libevent 函数之前需要分配一个或者多个 event_base 结构体, 每个eve 阅读全文
posted @ 2021-12-21 10:14 飘杨...... 阅读(978) 评论(0) 推荐(0) 编辑
使用C语言获取当前系统的libevent支持的异步IO模型有哪些
摘要:一、概述 案例:使用libevent获取当前系统支持异步IO模型有哪些(select/poll/epoll) 二、代码示例 //获取libevent支持的方法和当前系统使用的方法 #include <stdio.h> #include <stdlib.h> #include <string.h> # 阅读全文
posted @ 2021-12-20 14:45 飘杨...... 阅读(90) 评论(0) 推荐(0) 编辑
使用C语言实现本地socke通讯
摘要:一、概述 使用本地socket通讯可以实现进程之间的通讯。 相关函数描述如下: int socket(int domain, int type, int protocol); 函数说明: 创建本地域socket 函数参数: domain: AF_UNIX or AF_LOCAL type: SOCK 阅读全文
posted @ 2021-12-20 10:58 飘杨...... 阅读(935) 评论(0) 推荐(0) 编辑
使用C语言进行udp通信
摘要:一、概述 UDP协议简单介绍: 1.UDP协议是用户数据报协议,面向无连接的、不稳定、不可靠、不安全的数据报传递 更像是是收发短信。 2.UDP传输不需要建立连接,传输效率更高,在稳定的局域网内环境相对可靠 3.UDP天然支持多客户端 C语言UDP函数介绍: ssize_t recvfrom(int 阅读全文
posted @ 2021-12-20 10:14 飘杨...... 阅读(2763) 评论(0) 推荐(0) 编辑
使用epoll实现聊天服务
摘要:一、概述 1.epoll函数及相关结构体介绍 多路IO-epoll 将检测文件描述符的变化委托给内核去处理, 然后内核将发生变化的文件描述符对应的事件返回给应用程序. (通俗点讲就是我们不用关心文件描述符的变化了,内核帮我们干了,并且内核把那些有变化的具体的文件描述符都会返回回来) 函数介绍: in 阅读全文
posted @ 2021-12-15 10:43 飘杨...... 阅读(256) 评论(0) 推荐(0) 编辑
使用poll实现聊天服务
摘要:一、概述 poll函数介绍: int poll(struct pollfd *fds, nfds_t nfds, int timeout); 函数说明: 跟select类似, 监控多路IO, 但poll不能跨平台. 参数说明: fds: 传入传出参数, 实际上是一个结构体数组 fds.fd: 要监控 阅读全文
posted @ 2021-12-15 10:00 飘杨...... 阅读(168) 评论(0) 推荐(0) 编辑
C语言select实现高并发服务器
摘要:一、概述 除了使用多线程或者多进程技术,我们是否还可以使用其他的方法来实现服务端连接多个客户端呢?答案是肯定的,那就是多路IO技术select。 多路IO技术: select, 同时监听多个文件描述符, 将监控的操作交给内核去处理, 数据类型fd_set: 文件描述符集合--本质是位图(关于集合可联 阅读全文
posted @ 2021-12-13 14:32 飘杨...... 阅读(1198) 评论(0) 推荐(0) 编辑
C多进程实现聊天服务
摘要:一、概述 案例:使用多进程实现聊天服务。要求:可以有多个客户端连接,且客户端发送什么数据服务端就回复什么数据 实现步骤: 1.创建监听文件描述符socket 2.绑定端口bind 3.监听端口listen 4.当接受到一个连接时开启一个子进程来实现,来实现和客户端的通讯(fork) 5.具体客户端通 阅读全文
posted @ 2021-12-13 13:39 飘杨...... 阅读(72) 评论(0) 推荐(0) 编辑
C语言实现多线程版聊天服务
摘要:一、概述 案例:C+pthread+socket实现多线程聊天服务,要求:服务端可以连接多个客户端,客户端发的消息,服务端再转发给客户端。 实现步骤: 1.创建监听文件描述符socket 2.绑定端口bind 3.监听端口listen 4.接收客户端请求,并在新的线程中执行(pthread+acce 阅读全文
posted @ 2021-12-13 13:35 飘杨...... 阅读(415) 评论(0) 推荐(0) 编辑
AndroidVideoCache实现预缓存
摘要:一、概述 案例:实现一个视频预缓存的需求 原理: 1.本地有缓存就优先播放缓存,本地没有缓存就从服务端拉取数据存入缓存,然后再读取缓存播放 2.要实现1中描述的功能,a.首先要再App中新建一个代理服务 b.客户端请求代理服务 c.代理服务收到客户端请求,开启一个线程A发起请求网络服务器,d.将线程 阅读全文
posted @ 2021-12-08 15:14 飘杨...... 阅读(1195) 评论(0) 推荐(0) 编辑
Android VideoCache缓存框架分析
摘要:一、概述 AndroidVideoCache是一个视频缓存框架,支持边下载边播放。 基本原理:使用本地代理代替直接根据url请求网络服务。 1.首先在本地新建一个服务(ServerSocket),监听客户端的接入,一旦有客户端接入就新建一个Socket来维持客户端和服务端之间的通讯。 2.转换url 阅读全文
posted @ 2021-12-07 17:14 飘杨...... 阅读(1454) 评论(0) 推荐(0) 编辑
C使用信号量实现生产者消费者模型
摘要:一、概述 案例:编写一个案例代码,使用信号量(sem_t)来实现生产者消费者模型。 信号量:相当于多把锁,可以理解为加强版的互斥锁,其在一定程度上可以提高并发的效率 相关函数介绍: 相关函数 定义信号量 sem_t sem; int sem_init(sem_t *sem, int pshared, 阅读全文
posted @ 2021-12-03 10:02 飘杨...... 阅读(378) 评论(0) 推荐(0) 编辑
C实现读写锁
摘要:一、概述 案例:编写一个案例测试读写锁,要求:新建三个线程写,5个线程读,来测试读写锁。 读写锁的基本概念: 读写锁也叫共享-独占锁。当读写锁以读模式锁住时,它是以共享模式锁住的;当它以写模式锁住时,它是以独占模式锁住的。写独占,读共享。 读写锁的使用场合: 对数据结构读的次数远大于写的情况 读写锁 阅读全文
posted @ 2021-12-01 14:42 飘杨...... 阅读(1970) 评论(0) 推荐(0) 编辑

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示