1、长连接还是短连接?
选择长连接,原因:更节约资源,多个消息复用同一个链路。
2、BIO还是NIO?
BIO通信模型最大的问题是系统缺乏弹性伸缩能力,服务端线程个数和客户端个数并发访问数呈现1:1比例,线程膨胀后,系统性能急剧下降,系统发生堆栈溢出,创建新线程失败,造成进程僵死等现象。
多路复用技术:把多个IO的阻塞复用到同一个select的阻塞上,从而使得系统在单线程的情况下可以同时处理多个客户端请求,节省了系统资源。
3、通信框架不与具体协议绑定,在通信框架之上,有私有协议栈和公有协议栈。
Binary Protocol | Text Protocol | Web Services | Restfull | HTTP |
Private Protocol | Public Protocol | |||
Transport Facade API | ||||
Base Long Connect Framework | Base Short Connect Framework | |||
Netty |
4、通信框架服务端的职责
提供上层API,用户初始化服务端实例,设置服务端通信参数,包括服务端的IO线程池、监听地址、TCP相关参数、接收和发送缓冲区大小;
提供可扩展的编解码插件;
提供拦截面,用于私有协议栈开发;
相关推荐
C++ Socket通信框架是网络编程中的重要组成部分,它允许程序通过网络进行数据交换。在Windows平台上,使用C++实现Socket通信通常涉及到Windows Socket API(也称为Winsock)。本框架“HP-Socket”专为Windows环境...
Python SocketServer通信框架是Python标准库中的一个模块,它提供了基于TCP/IP协议的服务器端编程基础框架,可以方便地创建自定义的服务。本项目实例基于SocketServer,实现了长连接和多线程通信,同时处理了通信...
《Mina通信框架应用详解》 Mina通信框架,全称为Apache MINA,是一个高度可扩展的、基于Java的网络应用程序开发框架。MINA的名字来源于多语言(Multi-purpose Infrastructure for Network Applications),它提供了...
本项目旨在基于C++语言实现一个RPC分布式网络通信框架项目,使用CMake在Linux平台上构建编译环境。它可以将任何单体架构系统的本地方法调用重构为基于TCP网络的RPC远程方法调用。该框架实现了同一台机器的不同进程...
在游戏开发中,Unity引擎是广泛应用的工具,而一套高效的消息通信框架对于多模块协作至关重要。本套框架专注于实现不同组件之间简洁、高效的消息传递,从而促进代码的解耦和可维护性。以下是对这套消息通信框架的...
数据通信框架是软件开发中一个重要的组成部分,尤其是在分布式系统、网络应用和实时数据交换场景下。C#语言凭借其强大的面向对象特性和丰富的类库,成为构建数据通信框架的热门选择。本文将深入探讨C#数据通信框架的...
**IOCP网络通信框架** IOCP(I/O完成端口,Input/Output Completion Port)是Windows操作系统中一种高效的网络通信模型,尤其适用于处理大量并发连接。这个框架利用了Windows的异步I/O机制,能够有效地处理高并发...
本篇将深入探讨“H5和Android通信框架”,帮助你理解如何构建一个高效、稳定的交互环境。 H5与Android交互的主要目标是实现功能的扩展性和灵活性。H5页面可以提供丰富的用户界面,而Android原生代码则可以处理复杂...
Netty4+ProtoBuf通信框架是一种高效的网络应用框架,它结合了Netty的高性能和Google的Protocol Buffers(ProtoBuf)的数据序列化能力,用于构建可伸缩、高并发的网络应用程序。在这个项目中,客户端和服务端之间的...
HP-Socket网络通信框架是一套通用的高性能通信框架,专为处理TCP、UDP和HTTP通信设计,适用于Windows和Linux平台。此框架包含服务端组件、客户端组件和Agent组件,支持多种编程语言接口,如C/C++、C#、Delphi、...
博客:https://blog.csdn.net/u014261855/article/details/109583060 unity c#实现简单前后端socket通信框架 .net dll工程,封装三个工具: 1.服务器 2.客户端 3.通用byte流客户端
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件、 客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通 信系统,提供 C/C++、C#、Delphi、E(易语言)、Java、Python 等...
nSocket是基于java NIO.1和NIO.2开发的轻量级网络通信框架,该框架为用户提供异步非阻塞的网络编程接口。目前更新到0.1版本,实现了基本的连通性和简要的通信,在0.2版本中将增加filter chain的功能。nSocket与mina...
RRQMSocket网络通信框架 v8.0.0.zip
.net 稳定 高效 易用 可同步 TCP 通信框架 使用平台: WinXP,WIN7,WIN8,WINCE,WINPHONE。 使用.net 2.0 框架。 主要功能介绍: 1、可以代替 Oracle,Mysql客户端 在不安装Oracle,MySql客户端的情况下访问, ...
Ice通信框架简介;Ice通信框架简介;Ice通信框架简介
本框架涵盖了这两种通信模式,为开发者提供了便捷的客户端和服务器实现。 TCP Socket通信主要依赖于`java.net.Socket`和`java.net.ServerSocket`类。`ServerSocket`在指定端口监听连接请求,当客户端发起连接时,会...
NIO通信框架 网络 通信 类 收集的资料 java 可以使用
1.处理粘包断包 2.同时支持TCPSocket和WebSocket共连 在线测试地址: http://www.ixy1688.com/TestMMO/ https://github.com/MosKevinJia/MMOTcpServer 交流群:283560109
PLC(可编程逻辑控制器)通信框架是一种专为与各种不同类型的PLC设备进行交互而设计的软件架构。这个框架的出现,极大地简化了上位机(通常指的是控制中心或工业计算机)与PLC之间的通信过程,使得开发者无需关注...