网络套接字(英语:Network socket;又译网络套接字、网络接口、网络插槽)在计算机科学中是电脑网络中进程间资料流的端点。使用以网际协议(Internet Protocol)为通信基础的网络套接字,称为网际套接字(Internet socket)。因为网际协议的流行,现代绝大多数的网络套接字,都是属于网际套接字。socket是一种操作系统提供的进程间通信机制。在操作系统中,通常会为应用程序
转载
2024-06-13 08:09:59
57阅读
目录1 基本介绍2 主要函数详解2.1 Create2.2 Address2.2 SetFailed2.3 Dereference 1 基本介绍Socket在计算机领域通常指套接字,这里说的brpc里面的socket指的是一种用于方便在多线程环境下使用包括套接字在内的fd等资源的通用结构,前面的文章介绍brpc服务器启动以及发送接收请求相关内容的时候就多次设计到了这个数据结构。下面先贴一段官方文
转载
2024-02-15 21:46:09
221阅读
目录1.brpc请求其他server方式1.1 基于proto的rpc请求示例1.2 普通http请求示例:2.brpc写数据的机制 brpc作为一个rpc框架,除了支持作为server当然也需要对调用其他server有良好的支持,这篇将着重介绍一下brpc访问其他server的具体过程以及与之相关的往socket写response的机制。1.brpc请求其他server方式brpc里发送数据都
转载
2024-03-05 03:57:40
242阅读
Socket::Write
构建一个WriteRequest, 然后调用StartWrite().
Socket::StartWrite
有一个 _write_head 成员, 每次写入时,会将WriteRequest 地址写入这个成员, 写入操作会返回旧的 req。 如果旧的req存在,则 req->next = old_req,当前线程直接返回。当前的req会在旧req写完之后被写入。
原创
精选
2023-05-28 20:01:16
593阅读
点赞
Portal 的功能
在JSR168规范中只定义了Portal所应具有的功能的一个最小集合。然而在现实场景中,不论是开源的portal框架实现,还是商业Portal产品都在标准的基础上作了扩展。总的说来,一般Portal可能会包含以下功能,见表3.1:
功能
转载
2024-09-01 13:44:58
21阅读
文章目录server端使用brpc::Server::AddService初始化各种数据StartInternal内部其余服务也调用该函数接收连接套接字StartAccept请求ResetFileDescriptor设置socket信息,并注册epoll中IO多路复用EventDispatcher::Run(),事件监听OnNewConnections接收连接请求OnNewMessages读事件
转载
2024-08-02 16:04:09
51阅读
目录概括原文要点全文链接概括三者都实现了一套称为 用户态线程或协程(coroutine) 的线程模型(主要使用M:N的用户态线程模型),只不过他们的实现方式不一样: (1)grpc-go 基于 go语言原生的gmp模型 (2)grpc-java 基于 netty的线程模型
转载
2024-04-12 08:50:32
847阅读
一、rpc框架原理当客户端的应用想发起一个远程调用时,它实际是调用客户端的 Stub。它负责将调用的接口、方法和参数,通过约定的协议规范进行编码,并通过本地的 RPCRuntime 进行传输,将调用网络包发送到服务器。服务器端的 RPCRuntime 收到请求后,交给服务器端的 Stub 进行解码,然后调用服务端的方法,服务端执行方法,返回结果,服务器端的 Stub 将返回结果编码后,发送给客户端
转载
2024-07-04 06:54:45
320阅读
一、gRPC是什么?gRPC,其实就是RPC框架的一种,前面带了一个g,代表是RPC中的大哥,龙头老大的意思,另外g也有global的意思,意思是全球化比较fashion,是一个高性能、开源和通用的 RPC 框架,面向服务端和移动端,基于 HTTP/2 设计。RPC框架是什么?RPC 框架说白了就是让你可以像调用本地方法一样调用远程服务提供的方法,而不需要关心底层的通信细节。简单地说就让远程服务调
转载
2024-08-30 14:28:35
362阅读
文章目录一.连接方式的定义二.连接方式的选择三.获取用于连接的socket3.1 获取指代具体下游服务的tmp_socket3.2 根据tmp_socket获取用于发送数据的socket3.3 连接以准备发送四.数据发送完毕后对连接的处理 以前写过文章聊过brpc访问下游和发送数据的机制,但和下游连接的相关处理细节没有过多涉及,这里来聊下brpc client对于连接的相关处理。为了避免歧义,这
2021SC@SDUSC 目录引言源码分析介绍一元式 RPC客户端流式 RPC服务端流式 RPC双向流式 RPC 引言在 oj 项目中,服务端并不是一个不可分割的整体,而是可以根据职责划分为成多个子服务,比如能够处理前端请求的服务、能进行判题的服务等。那么这些服务之间要如何进行通信呢?这里我们选用 RPC。相比于 Restful,RPC 更加轻量级,也更加高效,适合系统内的服务通信。我们以 gRP
gRPC系列文章 RPC、http/2、 protocol buffersRPCPRC相关概念进程间通信运行时设施RPC的应用RPC漫谈数据传输协议Http/2.0HTTP/2 特性SPDYQUIC序列化协议目的影响序列化性能的关键因素常用方式Protocol buffersgRPC系列文章 RPCRPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程
转载
2024-06-11 21:22:42
200阅读
brpc介绍 更好的延迟和吞吐量虽然几乎所有的RPC实现都声称它们是“高性能”的,但数字可能只是数字。在不同场景中真正的高绩效是困难的。为了统一百度之内的通信,brpc在性能上比其他实现更深入。读取和解析来自不同客户端的请求完全并行化,用户不需要区分“IO线程”和“处理线程”。其他实现可能具有“IO线程”和“处理线程”以及散列文件描述符(fd)到IO线程中。当IO线程处理其中
源码下载: 实现自定义的Web服务器 简介该示例实现一个自定义的Web服务器,该服务监听浏览器发出的Http请求,该服务器只对49155端口进行监听,当在浏览器输入http://localhost:41955/,此时服务器会响应该请求,并向输出Welcome you字符串作为响应;并且在服务器的界面中我们可以看到Http请求的详细信息 简介 为了简化网络编程,.net对套接字又进行了
百度内最常使用的工业级RPC框架, 有1,000,000+个实例(不包含client)和上千种多种服务, 在百度内叫做"baidu-rpc". 目前只开源C++版本。
原创
2022-06-20 20:36:40
303阅读
网络概述随着计算机的普及,各个独立计算机之间进行通信的需求开始变得重要。计算机的工作本质是对数据进行处理并对结果进行输出,在实际工作中,很可能会遇到一台计算机输出的结果,需要作为另一台计算机的输入,并进行其他处理的情景,在计算机网络出现之前,这往往需要人在多台计算机之间来回走动仪完成工作,其效率可想而知。当最初的网络出现后,这种计算机之间的数据往来就可以通过某种网络媒介传送,速度快,距离远。随着历
原创
精选
2024-05-16 10:08:42
240阅读
网络开发Socket和ServerSocket
转载
2021-07-30 15:28:31
128阅读
2017-07-24 20:43:49 Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。Http协议主要的操作流程是request-response即请求响应。我们可以利用python中的socket库完成连接的建立,然后使用GET方法获取服务器端的数据。 一、
转载
2017-07-24 21:18:00
156阅读
2评论
已经发表个人公众号Socket和ServerSocketSocket为“孔”或“插座”,创建Socket,打开连接Socket的输入或输出流,对Socket进行读写,关闭Socket。Accept方法用于产生“阻塞”,这里有getInputStream方法和getOutInputStream方法,
原创
2021-07-16 16:02:32
140阅读
本文将会讨论一下Protobuf,以及最简单和便捷实现protobuf的gRPC。什么是protobuf在官网介绍中,Protocol Buffers是Google用来进行序列化数据的一个机制,他和语言无关,也独立于平台。就和JSON类似,但是它比JSON要更小,更快更加简单。你可以自己定义如何组织你的数据,然后你就可以使用相关的代码来很方便地进行数据的读写。目前有两个版本的proto,分别是pr