java技术圈 为您找到相关结果 23

golang实现简易TCP服务以及TCP和UDP协议对比

引言 ECHO(Echo Protocol,回绕协议,应答协议,如linux中的echo命令),用于查错及测量应答时间(运行在TCP和UDP协议上)本文示例为echo协议,服务器只需把收到的客户端的请求数据发给这个客户端即可,其它什么功能都不做。 tcp/ip是一个协议簇(族),TCP(传输控制协议)和IP(网际协议)是此协议簇的核心。七层OSI模型中,tcp/udp在传输层,而ip在网络层。 OSI七层协议由上到下分别是:应用层(http,https),表示层(简单地说不同计算机通信会话进行表示转化,使系统能够识别,把数据转换为能与接收者的系统格式兼容并适合传输的格式。),会话层(设置和维护电脑之间通信连接,ssh),传输层(TCP/UDP),网络层(网际协议IP),数据链路层(表头和表尾...阅读全文

博文 2019-04-04 09:53:00 www.allocmem.com

WebSocket与http长连接的区别 - 我只是个前端AI

前言 事先说明这是鄙人看了一点入门文章总结的粗浅的知识, 并不保证理解完全正确,用来给自己知识梳理用。 websocket连接过程概述 WebSocket 建立连接需要先通过一个 http 请求进行和服务端握手。握手通过后连接就建立并保持了。浏览器先发送请求: GET / HTTP/1.1 Host: localhost:8080 Origin: [url=http://127.0.0.1:3000]http://127.0.0.1:3000[/url] Connection: Upgrade Upgrade: WebSocket Sec-WebSocket-Version: 13 Sec-WebSocket-Key: w4v7O6xFTi36lq3RNcgctw== 服务端返回一个请求: ...阅读全文

博文 2019-05-07 09:45:13 SegmentFault 思否

TCP、UDP数据包大小的限制_灿哥哥的博客

1、概述 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层。 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或UDP中的数据(Data)在应用层 它们的关系是 数据帧{IP包{TCP或UDP包{Data}}} 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)。数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 在应用程序中我们用到的Data的长度最大是多少,直接取决于底层的限制。 我们从下到上分析一下: 1.在链路层,由以太网的物理特性决定了数据帧的长度为(46+18)-(1500+...阅读全文

博文 2020-07-01 02:20:08 CSDN博客_udp包最大长度

聊聊 TCP 长连接和心跳那些事 | 徐靖峰

前言可能很多 Java 程序员对 TCP 的理解只有一个三次握手,四次握手的认识,我觉得这样的原因主要在于 TCP 协议本身稍微有点抽象(相比较于应用层的 HTTP 协议);其次,非框架开发者不太需要接触到 TCP 的一些细节。其实我个人对 TCP 的很多细节也并没有完全理解,这篇文章主要针对微信交流群里有人提出的长连接,心跳问题,做一个统一的整理。 在 Java 中,使用 TCP 通信,大概率会涉及到 Socket、Netty,本文将借用它们的一些 API 和设置参数来辅助介绍。 长连接与短连接TCP 本身并没有长短连接的区别 ,长短与否,完全取决于我们怎么用它。 短连接:每次通信时,创建 Socket;一次通信结束,调用 socket.close()。这就是一般意义上的短连接,短连接的好...阅读全文

博文 2019-12-23 03:56:40 个人博客

硬核图解|tcp为何会粘包?背后的缘由让人暖心

事情从一个健身教练提及吧。程序员 李东,自称亚健康终结者,尝试使用互联网+的模式拓展本身的业务。在某款新开发的聊天软件琛琛上发布广告。golang 键盘说来就来。疯狂发送"李东",回车发送!,"亚健康终结者",再回车发送!面试 还记得四层网络协议长什么样子吗?算法 四层网络模型每层各司其职,消息在进入每一层时都会多加一个报头,每多一个报头能够理解为数据报多戴一顶帽子。这个报头上面记录着消息从哪来,到哪去,以及消息多长等信息。好比,mac头部记录的是硬件的惟一地址,IP头记录的是从哪来和到哪去,传输层头记录到是到达目的主机后具体去哪一个进程。网络 在从消息发到网络的时候给消息带上报头,消息和纷繁复杂的网络中经过这些信息在路由器间流转,最后到达目的机器上,接受者再经过这些报头,一步一步还原出发送...阅读全文

博文 2021-08-27 09:28:59 尚码园

TCP UDP包大小分析

1.关于MTU MTU最大传输单元,这个最大传输单元实际上和链路层协议有着密切的关系,EthernetII帧的结构DMAC+SMAC+Type+Data+CRC由于以太网传输电气方面的限制,每个以太网帧都有最小的大小64Bytes最大不能超过1518Bytes,对于小于或者大于这个限制的以太网帧我们都可以视之为错误的数据帧,一般的以太网转发设备会丢弃这些数据帧。 由于以太网EthernetII最大的数据帧是1518Bytes这样,刨去以太网帧的帧头(DMAC目的MAC地址48bits=6Bytes + SMAC源MAC地址48bits=6Bytes + Type域2Bytes)14Bytes和帧尾CRC校验部分4Bytes那么剩下承载上层协议的地方也就是Data域最大就只能有1500Byte...阅读全文

视屏面试传输协议到底是TCP还是UDP - 云+社区

背景 又是一年一度的秋季校招开始了,以往的校招各个公司都会在公司现场或者学校现场安排学生进行现场面试?但是今年由于疫情的原因,不允许让同学在现场进行一个面试,所以今年的面试形式就从线下转到了线上,面试形式的转变,但是我们考核学生的方式依旧没有转变。校招的同学和社招的同学有很大的不同,他们没有丰富的工作经验,没有太多的项目经历,那么我们如何去衡量一个校招的同学呢?那就是基础和潜力,怎么去理解基础呢?俗话说不积跬步,无以至千里,不积小流,无以成江海,如果没有一个好的基础那么怎么才能成为一个优秀的工程师呢。如何去考察一个学生基础的好坏呢?我觉得有三个方面比较重要,计算机网络,操作系统以及算法和数据结构,通常来说计网考察得特别多,常见的一些问题:网络模型分层TCP和UDP的区别TCP三次握手和四次挥...阅读全文

博文 2020-09-06 14:36:06 腾讯云

Flink 助力美团数仓增量生产

一、美团数仓架构图如上图,是美团最新的数仓架构图。整个架构图分为三层,从下往上看,最下面一层是数据安全,包括受限域认证系统、加工层权限系统,应用层权限系统,安全审计系统,来保证最上层数据集成与处理的安全;中间一层是统一的元数据中心和全链路血缘,覆盖了全链路的加工过程;最上层根据数据的流向,分成数据集成,数据处理,数据消费,数据应用,四个阶段;在数据集成阶段,对于不同的数据来源(包括用户行为数据,日志数据,DB 数据,文件数据),都有相对应的数据集成系统,把数据收集到统一的存储之中,包括 Kafka 和 Hive 等。在数据处理阶段,有一个面向用户的数据开发平台(万象平台),可以使用两条数据处理链路来加工数据,一个是流式处理链路,一个是离线处理链路。数据加工好了之后,使用内部自研的 Delta...阅读全文

博文 2022-03-23 12:52:23 知乎

将个人PC转变为高效的云电脑:理论、实践与优化

本文分享自天翼云开发者社区《将个人PC转变为高效的云电脑:理论、实践与优化》,作者:不知不觉在数字化时代的今天,我们越来越依赖互联网和计算机技术进行工作和生活。然而,传统的个人电脑(PC)在使用过程中存在一些限制,例如硬件资源的利用率不高、数据安全难以保障等。为了解决这些问题,我们可以将个人PC转变为高效的云电脑,通过远程访问和共享的方式来提高资源利用率和数据安全性。本文将详细探讨这一主题,包括理论、实践和优化的方法。一、理解个人PC与云电脑个人PC是一种独立的计算机设备,通常由用户自行购买和维护。而云电脑是一种基于云计算技术的虚拟化平台,用户可以通过网络远程访问云服务器上的计算、存储等资源。通过将个人PC转变为云电脑,我们可以充分利用云计算的优势,提高资源利用率和数据安全性。二、个人PC变...阅读全文

Nginx的HTTP模块与Stream模块:区别与应用场景

本文分享自天翼云开发者社区《Nginx的HTTP模块与Stream模块:区别与应用场景》,作者:云海Nginx是一个多功能的开源Web服务器,它支持多个模块,其中两个重要的模块是HTTP模块和Stream模块。这两个模块在不同的网络场景中有各自的用途,本文将深入研究它们之间的区别以及何时应该使用哪一个。HTTP模块和Stream模块的区别工作原理HTTP模块:HTTP模块主要用于处理HTTP和HTTPS流量。它可以接收HTTP请求、代理HTTP请求到后端服务器、负载均衡、缓存和处理HTTPS加密等。HTTP模块是Nginx最常用的模块之一,通常用于构建Web服务器或反向代理服务器。Stream模块:Stream模块用于处理通用TCP和UDP流量。它允许Nginx在传输层(TCP/UDP)上进...阅读全文

博文 2023-09-25 17:20:40 Tianyiyun

既然操作系统层已经提供了page cache的功能,为什么还要在应用层加缓存?

简单说,OS提供了一个通用的选择,没办法针对应用做个性化定制。kafka基本是顺序读写,这点是OS缓存可以很好的处理的情况;但是对于更多应用层系统来说,存在数据热点分布不均的情况,这些OS就不能很好的处理了。例如MySQL的innoDB缓存,如果采用OS的缓存策略,来一次全表扫描那么就可以让InnoDB辛辛苦苦热起来的数据冷了。但是InnoDB自己维护缓存情况下,就可以处理得很好,例如MySQL的InnoDB会对缓冲数据拆分为young以及old数据;会在整个缓存空间中腾出3/8的数据来用缓存这种多次访问的热点数据;这样全表扫描情况下,至少大多数热点数据还在内存中。甚至应用层可以在程序中直接指定热点数据,直接缓存起来;还有一个问题,OS缓存单位是页,不够应用层灵活。MySQL :: MySQ...阅读全文

博文 2023-05-15 10:50:34 知乎

QUIC协议在天翼云CDN全站加速产品中的应用

本文分享自天翼云开发者社区《QUIC协议在天翼云CDN全站加速产品中的应用》,作者:郭****迎1、什么是QUIC协议QUIC全称:Quick UDP Internet Connections,是一种实验性传输层网络协议,提供与TLS/SSL相当的安全性,同时具有更低的连接和传输延迟。QUIC目前的主要应用于http协议,基于QUIC的HTTP/3协议(RFC9114),除了拥有HTTP/2的各项优点,同时由于QUIC的特性,在弱网环境下拥有更强大的性能优势。QUIC由Google自研,2012年部署上线,2013年提交IETF,2021年5月,IETF推出标准版RFC9000。QUIC的主要优势如下:1)握手建连更快QUIC建连时间大约0~1 RTT,在两方面做了优化:传输层使用了UDP,...阅读全文

博文 2023-05-16 02:37:14 Tianyiyun

云电脑架构设计的层次

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

Vue3 + TS + Leafletjs 打造企业级原神大地图

Vue3 + TS + Leafletjs 打造企业级原神大地图 Lefalet 是一个为建设移动设备友好的互动地图,而开发的现代的、开源的 JavaScript 库。它是由 Vladimir Agafonkin 带领一个专业贡献者团队开发,虽然代码仅有 31 KB,但它具有开发人员开发在线地图的大部分功能。 Lefalet 设计坚持简便、高性能和可用性好的思想,在所有主要桌面和移动平台能高效运作,在现代浏览器上会利用HTML5和CSS3的优势,同时也支持旧的浏览器访问。支持插件扩展,有一个友好、易于使用的API文档和一个简单的、可读的源代码。 Leaflet.js 是目前最流行的映射库之一。它是一个灵活、轻量级的开源 JavaScript 库,用于创建交互式地图。 Leaflet 是一个用...阅读全文

博文 2024-08-03 16:03:45 woaidaqipaiqiu1122

云上新“引擎”,天翼云电脑打造云上办公新体验!

3月22日,由通信世界全媒体主办的云上新“引擎”——云电脑创新发展沙龙圆满举行,会议邀请众多产业链代表,聚焦产业发展,共话云电脑新未来。天翼云科技有限公司端云平台事业部副总经理许少泽参加会议,分享了天翼云电脑在打造云上办公新体验方面的技术突破及实践应用。​随着云网融合不断深入,云电脑在提供高效计算和存储能力的同时,更为千行百业带来了前所未有的灵活性、可扩展性和创新力。作为推动数字化变革的重要引擎,天翼云电脑具备流畅便捷、安全可靠、灵活配置、集中管控等优势,可实现安全与协作的深度融合,助力用户构建智慧办公新模式。在安全保障方面,天翼云电脑核心技术自主可控,构筑了从本地到云端的全链路安全防护体系。产品终端接入层采用了双因子认证和零信任接入机制,只有被认证、安全的账号和终端才可登录;在传输层,除了...阅读全文

博文 2024-04-08 15:08:10 Tianyiyun

一条数据包从收到发--交换芯片篇(一)

本文分享自天翼云开发者社区《一条数据包从收到发--交换芯片篇(一)》,作者:w****n从程控交换设备的软处理到交换芯片的硬件pipeline,从基于dpdk的软件转发到可编程的pipeline硬转发,从Kbps带宽能力到Tbps能力,网络转发设备的发展带来大带宽能力的同时,其技术架构也是经历了软-硬-软-硬的周期,可谓完美演绎了“十年河东十年河西”“各领风骚数年”的传奇。但对于底层网络而言,其七层架构、数据包结构、协议标准基本没有变化,即对于网络转发设备而言,数据报文处理架构可以做通用设计抽象,转发细节的差异与演进大多体现在报文处理逻辑的优化,内部报文高速传递的优化等。本文通过介绍和借鉴主流数通交换芯片,开源软转发处理,可编程交换芯片通用pipelile设计等成熟商业化实现,谈一谈报文处理...阅读全文

博文 2024-05-23 17:21:50 Tianyiyun

【完结18章】C++大型流媒体项目-从底层到应用层千万级直播系统实战

【完结18章】C++大型流媒体项目-从底层到应用层千万级直播系统实战 一、什么是流媒体。 流媒体是一种以流的形式在网络上进行数字媒体(音频、视频)传输的技术。 它将频、音视频之类的连续媒体经压缩编码、数据打包后按照一定的时间间隔要求连续地发送给接收方,接收方在后续数据不断到达的同时对接收到的数据进行重组、解码和播放。 如果你对流媒体感兴趣的话,可以看一下 Live555,一个更流行且更专业的流媒体库。 它支持了各种标准流媒体传输协议,如 RTP/RTCP、RTSP、SIP,实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持。播放 VLC 和 MPlayer 都是基于它来实现流媒体播放的功能,并且非常适合嵌入式领域。 二、流媒体特征 (1)内容主要是时间上连续的媒体数据(音频、视频...阅读全文

博文 2024-08-16 16:05:42 woaidaqipaiqiu1122

Keepalived基本原理

本文分享自天翼云开发者社区《Keepalived基本原理》,作者:UjnrfcKeepalived简介Keepalived是Linux下一个轻量级别的高可用解决方案。高可用:广义来讲,是指整个系统的高可用行;狭义的来讲就是主机的冗余和接管。它与HeartBeat实现类似的功能,都可以实现服务或者网络的高可用,但是又有差别,HeartBeat是一个专业的、功能完善的高可用软件,它提供HA软件所需的基本功能,比如:心跳检测、资源接管,检测集群中的服务,在集群节点转移共享IP地址的所有者等等。HeartBeat功能强大,但是部署和使用相对比较麻烦,与HeartBeat相比,Keepalived主要是通过虚拟路由冗余来实现高可用功能,虽然它没有HeartBeat功能强大,但是Keepalived部署...阅读全文

【完结10章】高性能GO企业级APM监控系统实战

【完结10章】高性能GO企业级APM监控系统实战 概述 ARM(Application Performance Monitoring)监控系统是一种用于监控和管理应用程序性能的工具。它通过收集应用程序运行时的各种指标数据,并将数据进行分析和可视化展示,帮助开发人员和运维人员找到应用程序中的性能瓶颈和问题。 APM监控系统具有以下功能特点: 1.实时监控:ARM监控系统可以实时地收集和分析应用程序的性能数据,包括但不限于CPU使用率、内存占用、网络延迟、数据库查询时间等。通过实时监控,可以快速发现和解决性能问题,避免对用户体验造成负面影响。 2.性能分析:ARM监控系统可以对应用程序的性能数据进行深入分析,帮助开发人员和运维人员找到性能瓶颈和问题的根本原因。通过性能分析,可以优化代码和配置提升...阅读全文

博文 2024-08-14 16:11:01 woaidaqipaiqiu1122

tron波场区块链智能合约交互入门到精通(基于6.x.x版本)

tron波场区块链智能合约交互入门到精通(基于6.x.x版本) 波场TRON以推动互联网去中心化为己任,致力于为去中心化互联网搭建基础设施。旗下的波场TRON协议是基于区块链的去中心化应用操作系统协议之一。 为协议上的去中心化应用运行提供高吞吐,高扩展,高可靠性的底层公链支持。 有限的高计算性能节点被用户选为网络维护节点。 波场的目标是通过提供一个去中心化的平台来改善互联网的体验,包括数字内容分发、娱乐和社交媒体等领域。它使用了自己的加密货币TRX(TRONix)来支持其生态系统。 波场项目的核心是其区块链技术,这使得开发者可以构建去中心化的应用程序(DApps)和智能合同,而不依赖于传统的中心化互联网架构。波场还采用了代表性的DPoS(DelegatedProof of stake)共识机...阅读全文

博文 2024-08-12 16:59:04 woaidaqipaiqiu1122

亮相2024 DPU&AI Networking创新大会,天翼云斩获两项大奖!

近日,以“智驱网络 芯动未来”为主题的2024 DPU&AI Networking创新大会在北京举办。大会表彰了在DPU与AI网络技术创新及实践应用中取得卓越成就的单位与项目,天翼云科技有限公司荣膺创新引擎奖、《紫金DPU算力卸载与网络加速应用》荣获实践先锋奖,技术创新实力以及应用实践成果再获行业认可。AI算网技术论坛上,天翼云科技有限公司资深研发专家樊小平发表演讲,分享了天翼云在高性能智算网络方面的技术创新。​“创新引擎奖”颁奖仪式​“实践先锋奖”颁奖仪式人工智能时代对智算的需求急剧增长,也对网络提出了前所未有的要求。樊小平表示,建设高性能智算网络面临着诸多挑战。在终端层面,RDMA网卡需接入存储和智算参数面等多个网络平面并面临业务融合加速的问题,RDMA网卡若要发挥极致性能需攻克高性能通...阅读全文

博文 2024-08-15 16:36:40 Tianyiyun

云电脑架构设计的层次1

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m一、基础设施层基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。二、虚拟化层虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚拟化层还...阅读全文

云电脑架构设计的层次2

本文分享自天翼云开发者社区《云电脑架构设计的层次》,作者:3****m 一、基础设施层 基础设施层是云电脑架构的最底层,负责提供计算、存储、网络等基础设施。这些基础设施可以由多个服务器组成,通过虚拟化技术进行资源池化,实现资源的动态分配和共享。基础设施层需要提供足够的计算、存储和网络资源,以满足虚拟化层和应用层的资源需求。同时,基础设施层还需要具备高可用性、可扩展性和安全性等特点,以满足用户的需求和保障数据安全。 二、虚拟化层 虚拟化层是云电脑架构的核心层,负责将硬件资源虚拟化成多个虚拟机。每个虚拟机都拥有独立的操作系统和应用程序,可以独立运行。虚拟化层还可以实现虚拟机的动态迁移和容错处理。通过虚拟化技术,虚拟化层可以实现对计算资源的动态分配和共享,提高计算机的处理能力和资源利用率。同时,虚...阅读全文