首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

libuv之unix域的使用

之前分析了unix域在libuv的基本原理。今天以一个简单的例子看一下如何使用它。本文涉及到一些网络编程的知识,不过文章不打算讲解这些,如果不了解可以先了解一下,或者留言。...同主机的进程可以访问(连接)他。之前说过unix域的实现和tcp的实现类型。都是基于连接的模式。服务器启动等待连接,客户端去连接。然后服务器逐个摘下连接的节点进行处理。...在unix域里,他实际上是一个uv_pipe_s结构体。uv_stream_s是uv_pipe_s的父类。类似c++的继承。 我们回头看一下on_new_connection的代码。主要逻辑如下。...这样我们后续就可以通过client和客户端通信。至于uv_read_start,之前在stream的文章中已经分析过。就不再深入分析。我们主要分析echo_read。...写完成后执行echo_write释放数据占据的内存。这就是使用unix域通信的整个过程。unix域还有一个复杂的应用是涉及到传递文件描述符。即uv_pipe_s的ipc字段。这个后续再开一篇文章分析。

1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux终端的使用

    那就搞个终端设备来操作。因此一台计算机上有很多种不同的终端设备也和正常。也就是说终端就是为主机提供了人机接口,每个人都通过终端使用主机的资源。 终端有字符终端和图形终端两种模式。...在linux的图形环境下,我们可以通过鼠标点击来完成所有的管理任务,这是图形界面终端,另外一种就是文本界面的终端,在这个界面的终端下我们可以使用linux命令来控制系统完成响应的工作,而这个文本终端也是服务器常用的模式...用一句话来说终端就是存在于用户和计算机之间沟通的桥梁,通过终端,用户可以控制计算机完成响应的工作,也可以获得到计算机的反馈 二、打开终端的几种方法 第一种,我们登录系统之后就已经打开了图形终端,在图形终端中也给我们提供了一个可以用...[Ctrl] + [Alt] + [F1] - [F6] ,其中F1和F2是两个可供登录的图形终端,F3-F6为文本终端,现在我们使用[Ctrl] + [Alt] + [F3]打开文本终端,然后使用root...以上的快捷键都是在工作中可能会经常用到的,不论是在图形界面打开的终端还是字符界面的终端都可以使用,在这里面就不挨个演示了,各位可以在终端中使用任意字幕和空格模拟命令输入然后多多熟悉,尽快掌握。

    11.8K20

    不习惯在终端使用 youtube-dl?可以使用这些 GUI 应用

    但它现在已经恢复并完全可以访问,可以说它并不是一个非法的工具。 它是一个非常有用的命令行工具,可以让你 从 YouTube 和其他一些网站下载视频。...使用 youtube-dl 并不复杂,但我明白使用命令来完成这种任务并不是每个人都喜欢的方式。 好在有一些应用为 youtube-dl 工具提供了 GUI 前端。...你可以按照我们的 ffmpeg 使用完整指南 进行设置,并探索更多关于它的内容。...要安装 youtube-dl,你可以在 Linux 终端输入以下命令: sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr...你也可以选择将其部署在你的服务器上。 请注意,你不能使用这个工具提取视频的 MP3 文件,它只适用于视频。你可以通过他们的 GitHub 页面探索更多关于它的信息。

    1.7K40

    为什么不建议使用 @Autowired 字段注入却还可以使用 @Resource

    @Autowired 字段注入从上面我们可以看到字段注入是最简单且无其它额外代码的方式,但同时也存在以下问题:与特定 IOC 框架强耦合(最主要原因)与特定 IOC 框架强耦合,导致使用其它 IOC...依赖识别方式:@Autowired默认是byType,可以使用@Qualifier指定Name,@Resource默认使用ByName,如果找不到则使用ByType。...适用对象:@Autowired可以对构造器、方法、字段使用,@Resource只能对方法、字段使用。...@Resource 为什么没有不推荐其实这是因为 @Autowired 是 Spring 提供的特定注解,和 Spring 框架绑定,而 @Resource 是JSR-250提供的,它是Java标准,作为...作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

    1.1K10

    UNIX及UNIX-like环境下的调试工具gdb使用方法

    debug版本和release版本的区别 先从文件大小初见端倪,debug版本的文件是要比release版本的文件大的 那我们具体如何在Linux环境下调试程序呢?...我们简写r,就可以直接运行程序(run),默认就是跑完了,但我们像调试的的话,需要打断点,那我们怎么打断点呢?...b + 行号就是给这一行打断点 如果有多文件,我们就是文件名+行号也是可以打的 info b用来查看断点 那如何删掉断点呢? d 断点编号就是删除断点,注意这里的编号并不是行号,是断点的编号!...这里的第一列才是断点的编号 那我们如何禁用断点呢,禁用断点的意思就是,这个断点不使用了,但还会留下痕迹,跟VS编译器里面的空心断点是一样的 在Linux下我们采用disable 编号的形式进行禁用 再启用就是...,或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具相比于VC、z的优点是具有修复网络断点以及恢复链接等功能,比BCB的图形化调试器有更强大的功能

    9510

    终端可以是丰富多彩的! echo实用技巧

    当人们提及"print大法好"的时候, 你可以和他们聊一聊echo 在"世界上最好的语言"PHP中, 也使用了echo作为负责打印的函数, 但这次我们要介绍的是Linux shell终端里面的echo...---- 终端可以是丰富多彩的 祭出一张htop的软件界面 ?...echo可实现彩色终端的效果 ?...\e[0m 将颜色重新置回 自从使用了linux, 才了解到原来命令行是可以丰富多彩的, 开始或许会感觉很神秘, 事实上, 实现起来并不难, 你只需了解echo的三个参数, 就可以完成大多数的需求, 如上图..., 第一个参数可以控制文字的格式(加粗, 下划线, 闪动, 浅色, 反白), 第二个参数可以控制文字的颜色(黑, 红, 绿, 黄, 蓝, 洋红, 青, 白), 第三个参数可以控制文字的背景色(黑, 红,

    69120

    做测试的请不要自己“贬低”自己,可以不?

    ,自动化测试才是出路,整体可以简称为测试的出路在哪里?...,有变化,但往往一个行业,你工作三四年,才算真正的需要你去理解它的含义,去做沉淀,你是否优秀,是否能沉淀出自己的秘籍,就看你不能耐得住寂寞,找到自己的“秘籍";点一点,是工作的方式,是执行,真正的核心是思维分析...,学习是解决问题的方式,认可自己的职业才是驱动自己前进的动力,同样一件事,不同人做的效果不一样;所以点一点不可耻,不认可自己的点一点才可耻;砌砖都能有高级工程师,你认为如此简单的事其实不简单,做好还有很大差距...我看到身边的人,很多人都是盲目追从,半途而废,然后看不起的业务,最后就是将就的状态;其实要认识到本质,做测试的是基于业务,业务有了你才有存在的意义,业务做不起来,你天天要搞自动化什么的,合适吗?...,这里面涉及到人脉,运气等,这个也就是所谓的未来是动态的,对自己的岗位热爱,付出努力,等待机会和运气的加成,你可能就一个工作就干到退休了;“只要思想不滑坡,办法总比困难多,天无绝人之路”,所以35岁,40

    61720

    使用 tmate 分享你的终端会话

    它可以让你在需要帮助时向你的朋友们求助。 什么是 tmate? tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。...它是一个终端多路复用器,同时具有即时分享终端的能力。它允许在单个屏幕中创建并操控多个终端,同时这些终端还能与其他同事分享。 你可以分离会话,让作业在后台运行,然后在想要查看状态时重新连接会话。...tmate 提供了一个即时配对的方案,让你可以与一个或多个队友共享一个终端。 在屏幕的地步有一个状态栏,显示了当前会话的一些诸如 ssh 命令之类的共享信息。...对于 Debian/Ubuntu,可以使用 apt-get 命令或者 apt 命令来安装。...$ sudo dnf install tmate 如何使用 tmate 成功安装后,打开终端然后输入下面命令,就会打开一个新的会话,在屏幕底部,你能看到 SSH 会话的 ID,显示效果就像运行 tmux

    1.1K30

    一款可以通过 Web 访问的 Linux 终端神器,已开源!

    使用 rtty 可以在任何地方通过 Web 访问您的设备的终端,通过 设备ID 来区分您的不同的设备。rtty 非常适合远程维护 Linux设备。...根据 设备ID 访问不同的设备 支持 HTTP 代理 访问您的设备的 Web 基于 Xterm.js 的全功能终端 部署简单,使用方便 演示 部署服务端 安装依赖 sudo apt install...token $ rttys token Please set a password:****** Your token is: 34762d07637276694b938d23f10d7164 使用...token $rttys -t 34762d07637276694b938d23f10d7164 通过浏览器访问 使用 Web 浏览器访问您的服务器:http://your-server-host:...如何设计一个 70w 在线人数的弹幕系统 ? 在 Spring Boot 中,如何干掉 if else Linux服务器存在大量log日志,如何快速定位错误? 【原创】怒肝3W字Java学习路线!

    1.5K20

    一位可以不吃不喝不眠的腾讯安防工作者

    腾讯强大的技术研发实力,安全保障能力,帮助客户持续提升数据中心运营的质量与效率,降低成本投入,将数据中心的价值极大化。...腾讯觅踪不但覆盖了对“物”的监控,还升级实现了对“人”的管控。...VDN服务:VDN服务是腾讯自研的具备类似于CDN功能的视频分发集群。它性能强大,单台服务器支持5000路摄像头在线;插件化设计,可以针对不同业务场景进行扩展。 2.    ...基于浏览器的h5图形渲染引擎:腾讯觅踪的图形渲染引擎是类似于小游戏底层的游戏渲染引擎,针对数据中心业务场景进行设计,可以实现类似游戏的丰富展示效果。...它具备以下特性:第一,矢量绘制,无极缩放;第二,图元拥有物理属性,比如墙壁,它有物理隔离的属性,也有化学隔离的属性,比方绘制温度云图时,热辐射的效果可以被墙壁阻止;第三,多层图纸层叠渲染,最终呈现由平面图

    2.9K40

    Carbonyl ,一个可以在终端里运行的浏览器

    浏览器对于我们的日常来说是使用频率比较高的一个东西。 一般来说,对于桌面的发行版的linux的浏览器,用的比较多的是Firefox浏览器。对于我们日常windows、mac等。...常用的有chrome、edge等。 但是!在终端里运行一个浏览器,我想大多人应该是都没遇到过这种情况的?还能这么玩?开眼界哦。...今天就给大家分享一个是一款基于 Chromium 的浏览器 Carbonyl 它是专为在终端中运行而构建的一个浏览器 它支持几乎所有的Web API,包括WebGL、WebGPU、音频和视频播放、动画等...如果你有需要可以把链接换成你的链接即可。我这里把它替换成google。来看看效果。 好家伙。马赛克风。 不过确实打开速度比较快。 如果你想关闭,那直接CTLR +C 中断即可。...我认为这个玩意儿没多大用,不过有一个场景还是可以用到的,比如我说本地启动了个服务,不知道端口放没放开以及服务是否启动成功,就可以在服务器打开浏览器看看,来进行初步的排查问题。

    94830

    你还在使用Linux自带的终端吗

    前言 服务端以及内核的测试开发过程,不可避免的要熟练使用Linux系统。...工作过程在享受终端窗口输入操作命令带来的轻便快捷的同时,也遇到令人繁琐的事情:运行多个程序时需要打开多个终端,布局杂乱,不方便查找。 ?...GNOME terminal终端窗口,并可依据个人的喜好自由分配每个终端的大小。...add-apt-repository ppa:gnome-terminator sudo apt-get update sudo apt-get install terminator 卸载方法 基于个人需求不同,大家可以使用不同的卸载方式...下面列举两个实例,更多妙用等待大家依据各自的需求去挖掘~ 妙用一:同时对多台机器的测试、部署及维护 利用Terminator广播的功能,可以同时对多个终端执行相同的命令,便于查看不同服务器或者移动端设备的状态

    3.1K20
    领券