`
voortex
  • 浏览: 745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

NIO服务器器端如何保持和客户端的长通讯

 
阅读更多

需求
10个客户端(C1、C2……C10)与服务端(S)通讯,服务端选择性的和C2、C8、C10保持长通讯。



 

 

数据包


 

实现过程
1、客户端发送SID,做为身份标识。

2、服务端创建SocketChannel容器,保存与客户端通讯的SocketChannel
private final Map<String, SocketChannel> socketChannelMap = new ConcurrentHashMap<String, SocketChannel>();

3、服务端接收到客户端请求,判断SocketChannel是否在socketChannelMap中存在,如果不存在添加到socketChannelMap中

4、服务端需要和已经建立连接的客户端进行通信时,从socketChannelMap拿到SocketChannel

  • 大小: 7.1 KB
  • 大小: 3.4 KB
分享到:
评论

相关推荐

    nio异步长连接服务端与客户端

    以上是对"nio异步长连接服务端与客户端"这一主题的详细讲解,涵盖了NIO的基础概念、异步通信机制以及服务端和客户端的实现细节。通过理解和应用这些知识点,开发者能够构建出高效、稳定的长连接网络应用。

    Socket 通讯客户端和服务器端

    本文将深入探讨客户端和服务器端的Socket通讯原理、实现过程以及相关知识点。 首先,理解Socket的基本概念至关重要。Socket,又称为套接字,是网络编程中的一个接口,为进程间通信(IPC)提供了标准化的方法。在...

    多客户端和服务端通讯

    在“connection”文件中,可能包含了实现以上功能的Java源代码,如客户端和服务器的主类、网络通信相关的类、以及可能的线程管理和消息处理逻辑。为了进一步理解和学习这个项目,你需要详细阅读这些代码,理解它们是...

    netty客户端服务器通信

    在服务器端,我们通常会为 `BossGroup` 和 `WorkerGroup` 分别设置一个或多个线程,而在客户端,通常只需要一个 `EventLoopGroup`。 2. **处理器链(ChannelPipeline)**:`ChannelPipeline` 是一个处理入站和出站...

    广告机项目客户端和广告服务器端通信程序

    在广告机项目中,客户端(通常是广告机)和服务器端(负责管理广告内容和播放计划的中央系统)之间就需要这样的通信机制。Socket通信基于TCP/IP协议栈,确保数据传输的可靠性。 客户端和服务器端的通信流程大致如下...

    java QQ 聊天 源代码 服务器端 客户端

    这个项目涵盖了服务器端和客户端的实现,让我们深入探讨其中涉及的关键知识点。 1. **Java编程语言**: Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性,这使得Java成为开发服务器端和客户端应用的理想...

    Java 服务器和多客户端之间的建议通讯 demo

    本示例“Java服务器和多客户端之间的建议通讯 demo”聚焦于如何利用Java实现一个简单的服务器,它能同时处理多个客户端的连接请求,这在多人在线游戏、实时聊天应用或者分布式系统中是非常常见的场景。我们将深入...

    java应用netty服务端和客户端

    3. **ServerChannel**:服务器端的通道接口,如NioServerSocketChannel,用于监听和接受新的连接。 4. **ChannelInitializer**:用于添加服务器端的处理器链,比如解码器、编码器、业务逻辑处理器等。 5. **...

    NIO网络通讯编程

    总结来说,NIO网络通信编程是Java中用于构建高性能网络服务的重要技术,通过理解并熟练运用通道、缓冲区和选择器等核心概念,可以设计出高效的并发服务器,满足大规模并发连接的需求。通过学习和实践,我们可以掌握...

    netty5服务端和客户端通讯的demo

    在这个“netty5服务端和客户端通讯的demo”中,我们将深入探讨如何利用Netty 5实现Java中的服务器和客户端通信。Netty 5(尽管现在Netty已经更新到更高级别的版本)提供了丰富的功能,包括NIO(非阻塞I/O)支持,...

    基于java的BIO、NIO、AIO通讯模型代码实现

    关键类包括:`java.net.Socket`(客户端)、`java.net.ServerSocket`(服务器端)和各种`InputStream`、`OutputStream`。 **2. 基于Java的NIO(Non-blocking I/O)** NIO(New I/O)在Java 1.4引入,提供了一种非...

    Java通讯模型-BIO、NIO、AIO综合演练

    虽然描述中没有提供具体的代码,但通常在实际演练中,开发者会创建一个简单的服务器,分别用BIO、NIO和AIO的方式处理客户端连接,比较它们的性能和编程难度。这通常涉及到服务器端的监听、接收连接、读取数据、处理...

    java nio im(server+client)

    在这个Java NIO IM(即时通讯)服务器和客户端的示例中,我们将探讨如何利用NIO进行双向通信,并理解其背后的机制。 1. **NIO基础概念** - **通道(Channel)**:在NIO中,数据是通过通道进行传输的。通道类似于流...

    socket通讯,实现客户端想服务器发送指令

    本教程将介绍如何使用Java实现简单的Socket通讯,让客户端能够向服务器发送指令,并接收服务器的响应。 首先,我们需要理解Socket的基本概念。Socket是网络通信的一种端点,可以看作是两台计算机之间建立连接的桥梁...

    基于Curl客户端和Java服务器的CJ-Web即时通

    长轮询机制下,服务器在接收到客户端请求后会保持连接,直到有新消息时才返回给客户端。客户端处理完数据后再次发起请求,形成循环,确保实时性。 2. **Tomcat的Advanced I/O优化**:为了处理大量并发连接而不降低...

    可直接执行JAR的文件,qq客户端和服务器

    “qq客户端和服务器”是指QQ这款即时通讯软件的客户端和后台服务部分。QQ客户端是用户直接交互的部分,它负责提供用户界面,处理用户的输入,并与服务器进行通信,完成消息发送、接收、好友管理等功能。服务器界面则...

    java socket开发即时通讯服务器

    在即时通讯服务器中,Socket扮演着客户端和服务器之间数据传输的桥梁角色。服务器端创建监听Socket,等待客户端连接;客户端通过Socket连接到服务器,建立起通信链路。 **一、服务器端开发** 1. **服务器初始化**...

    多人聊天服务端和客户端 --异步接收发送数据

    本文将深入探讨"多人聊天服务端和客户端 --异步接收发送数据"这一主题,它涉及到的核心技术主要是Socket编程和客户端-服务器(CS)架构。 Socket编程是互联网应用程序之间进行通信的基础,它允许两台计算机通过网络...

    基于TCP协议的网络客户端及服务端的编写

    一旦连接成功,客户端和服务器就可以通过send()和recv()函数进行数据交换。 在TCP编程中,需要注意以下几个关键点: 1. **错误处理**:无论是客户端还是服务端,都需要对可能出现的错误进行处理,例如网络中断、...

    mina客户端服务器简易Demo

    在本示例中,我们将深入探讨一个基于Mina实现的客户端-服务器简易Demo,这将帮助我们快速理解Mina的核心概念和用法。 首先,让我们来看看“minaServer”部分。Mina服务器端主要负责监听网络连接、接收客户端请求并...

Global site tag (gtag.js) - Google Analytics