java通信框架mina的使用

Mina网络编程实例:构建高效的Socket应用 Mina(Apache MINA)是一个高性能、可扩展的Java网络应用框架,它提供了简单而强大的API,用于构建基于Socket的网络应用程序。本文将介绍如何使用Mina框架来编写高效的Socket网络应用,并提供相应的示例代码。现在,我们将创建一个简单的Mina客户端应用程序,用于与服务器端进行通信。接下来,我们将创建一个简单的Mina服务器端应用程序。首先,我们需要在项目中引入Mina的相关依赖。)来处理收发的消息。在上述示例中,我们创建了一个。在上述示例中,我们创建了一个。实例,并设置了处理器( 阅读详情

什么事mina?

mina是基于nio开发出来的一个无阻塞高性能通信框架,能够处理socket无法解决的高并发问题。

mina的下载

http://mina.apache.org/

.将下载好的压缩包进行解压,将dist文件夹下的mina-core-2.0.14.jar文件和lib文件下slf4j-api-1.7.21.jar文件导入到你的web项目中

package com.example.server;

import java.io.IOException;
import java.net.InetSocketAddress;

import org.apache.mina.filter.codec.ProtocolCodecFilter;
import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
import org.apache.mina.transport.socket.nio.NioSocketAcceptor;

public class MinaServer {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			 //第一步 创建一个NioSocketAcceptor 对象
			NioSocketAcceptor acceptor=new NioSocketAcceptor();
			//第二步设置handler
			acceptor.setHandler(new MyServerHandler());
			//第三步,获取拦截器,发来的消息都需要通过拦截器拦截之后才能接收到
			//添加一个拦截器对数据进行加解码TextLineCodecFactory()
			acceptor.getFilterChain().addLast("codeFilter"
					,new ProtocolCodecFilter(new TextLineCodecFactory()));;
			//第四步,绑定端口号
			acceptor.bind(new InetSocketAddress(9898));
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}

handler对象

package com.example.server;

import org.apache.mina.core.service.IoHandlerAdapter;
import org.apache.mina.core.session.IdleStatus;
import org.apache.mina.core.session.IoSession;

public class MyServerHandler extends IoHandlerAdapter {
 
	//异常的处理
	@Override
	public void exceptionCaught(IoSession session, Throwable cause)
			throws Exception {
		// TODO Auto-generated method stub
		super.exceptionCaught(session, cause);
		System.out.println("exceptionCaught");
	}

	@Override
	public void inputClosed(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.inputClosed(session);
	}

	@Override
	public void messageReceived(IoSession session, Object message)
			throws Exception {
		// TODO Auto-generated method stub
		super.messageReceived(session, message);
	}

	@Override
	public void messageSent(IoSession session, Object message) throws Exception {
		// TODO Auto-generated method stub
		super.messageSent(session, message);
	}

	@Override
	public void sessionClosed(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionClosed(session);
	}

	@Override
	public void sessionCreated(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionCreated(session);
	}
// 这个方法是在服务器空闲状态的时候调用的
	@Override
	public void sessionIdle(IoSession session, IdleStatus status)
			throws Exception {
		// TODO Auto-generated method stub
		super.sessionIdle(session, status);
	}

	@Override
	public void sessionOpened(IoSession session) throws Exception {
		// TODO Auto-generated method stub
		super.sessionOpened(session);
	}
   
}

以上的代码基本上就可以代替原生的socket服务器端的写法了,至于接收端的用法可以用socket实现也可以用其他的方式实现

mina-core-2.0.0-RC1.jar,mina-filter-compression-2.0.0-RC1.jar mina-core-2.0.0-RC1.jar,mina-filter-compression-2.0.0-RC1.jar,mina-transport-apr-2.0.0-RC1.jar 立即下载

相关推荐

Agent 操作系统:未来的 Harness 平台

在大模型技术爆发的当下,自主智能体(Agent)已经成为AI原生应用的核心载体,但当前Agent开发面临着碎片化严重、运维难度高、规模化落地难三大核心痛点,就像1970年代没有通用操作系统的裸机编程时代,开发者需要重复造轮子解决底层基础设施问题。本文将深度解析Agent操作系统(Agent OS)作为AI原生时代的底层基础设施的核心定位,以及下一代Harness平台如何将Agent OS与成熟的DevOps、CI/CD、可观测性、成本管理能力深度融合,成为AI原生应用全生命周期管理的统一平台。

软件工程实践的博客 278

Mina网络通信框架

Mina框架是 Apache 开源的一款网络通信应用框架,是一款Java NIO通信框架。

qq_43842093的博客 3885

ConvLSTM时空预测实战代码详解

ConvLSTM代码复现

JaysonWong的博客 1万+

微信小程序MINA框架

微信小程序MINA框架通过分离视图层和应用逻辑层,使得开发者可以更加高效地开发小程序。视图层使用WXML和WXSS来搭建页面结构和样式,而应用逻辑层则使用JavaScript来处理数据和事件。两者通过事件绑定和数据绑定实现交互和同步。这种设计使得小程序的开发更加灵活和高效。由于代码和图示的展示需要更直观的形式,这里无法直接展示图示。但你可以参考微信官方文档或其他教程中的图示来更好地理解MINA框架的结构和工作原理。同时,也建议你多实践、多尝试,通过编写小程序来深入理解和掌握MINA框架。您好,我是肥晨。

肥晨开发的学习之路 4685

【CarMaker实战指南】从零构建环形测试场景与车辆连续仿真

本文详细介绍了如何使用CarMaker软件从零构建环形测试场景与实现车辆连续仿真。通过分步指导搭建闭环道路、连接交叉路口、规划车辆轨迹等核心操作,帮助用户掌握CarMaker的基础应用技巧,并提供了常见问题排查与进阶优化建议,适用于车辆耐久性测试和自动驾驶算法验证等场景。

weixin_29274969的博客 234

从零搭建Simulink-Adams联合仿真平台:实现电机转速的精准闭环控制

本文详细介绍了从零搭建Simulink-Adams联合仿真平台的完整流程,旨在实现电机转速的精准闭环控制。通过将Simulink的控制算法与Adams的物理模型相结合,构建了一个包含真实机械效应的数字孪生系统。文章涵盖了Adams物理模型构建、接口定义、Simulink控制闭环搭建、PID参数调试以及常见避坑指南,为机电系统仿真提供了实用的工程实践指导。

weixin_29189373的博客 153

MINA框架

小程序开发——MINA框架介绍

小白学CS 6124

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

【Java知识】高性能网络框架Mina详细介绍

Apache MINA 是一个高性能、高可扩展性的网络应用框架,它通过Java NIO提供了一个抽象的、事件驱动的异步API,用于各种传输协议,如TCP/IP和UDP/IP。MINA 被广泛用于开发需要高性能和高并发处理能力网络应用。定义协议数据结构:首先,你需要定义你的协议格式。这通常涉及到创建一个类来表示协议中的数据结构。例如,你可能有一个CustomPack类,它包含长度、标志和内容等字段。实现ProtocolEncoder:你需要将Java对象转换成二进制流。这可以通过继承类或实现接口来完成。

wendao76的专栏 2633

VSCode玩转STM32:手把手教你配置EIDE插件与OpenOCD调试(附野火DAP配置文件详解)

本文详细介绍了如何在VSCode中配置EIDE插件与OpenOCD进行STM32开发,特别针对野火DAP调试器提供了配置文件详解。从基础环境搭建到深度调试技巧,帮助开发者高效完成STM32项目开发,实现现代化嵌入式开发工作流。

weixin_26905487的博客 553

控制算法研发工程师(博士)职位深度解析与面试指南

摘要:广东万和新电气股份有限公司招聘控制算法研发工程师(博士),工作地点佛山顺德。职位要求2026届博士学历,电子信息工程或控制科学与工程专业。主要职责包括:1)燃气热水、热泵等系统的电控软件设计与优化;2)开发PID、模糊控制、ADRC、MPC等智能算法,应用于恒温控制、变频调节等场景。重点考察算法研发能力、系统稳定性优化及嵌入式实现经验。该职位提供三年资深工程师培养计划,需具备扎实的控制理论基础和工程实践能力,能够处理非线性系统、多工况自适应等复杂控制问题。

郑伟强dev的专栏 139

Java之网络通信框架mina

mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。Apache的Mina(Multipurpose Infrastructure Networked Applications)是一个网络应用框架,可以帮助用户开发高性能和高扩展性的网络应用程序;它提供了一个抽象的、事件驱动的异步API,使。

qq_43842093的博客 1662

Codex 接入国产大模型指南:客户端与 CLI 双端实战

CC Switch是目前最流行的 Codex / Claude Code 模型切换工具,内置了协议转换功能,支持几乎所有主流国产模型。核心原理Codex → 本地 8317 端口(CC Switch)→ 协议转换 → 国产模型 API整个过程对 Codex 完全透明,Codex 以为自己在跟标准的 Responses API 对话。用户类型推荐方案理由新手 / 不想折腾配置简单,免费额度够用追求稳定体验通义千问(原生接入)官方兼容,功能最完整企业用户自建 AI 网关可控性强,支持多用户管理预算有限。

篮球界最会写bug的人;程序猿中打球最菜的人。 576

java socket框架mina_socket通信框架mina使用详解(一)

1.mina框架基于tcp/ip,udp/ip协议栈的通信框架。2.mina框架的执行流程:mina框架客户端与服务器端的执行流程一致,不同的是:Ioservice的client端实现是Ioconnector,server端是IoAcceptor.客户端实现package com.minaclient;import org.apache.mina.core.service.IoHandlerAda...

weixin_28972529的博客 826

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java socket框架mina_大并发量socket 通信框架MINA介绍

Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的TCP/UDP 应用程序开发、串口通讯程序。Mina 的应用层:一个设计成熟的开源框架,总是会仅可能的减少侵入...

weixin_34640051的博客 792

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

java之网络通信框架mina

一 mina 1.1 mina作用概述 mina是一个基于java nio的网络通信框架。主要屏蔽了网络通信的一些细节,对Socket进行封装,并且是NIO的一个实现架构,可以帮助我们快速的开发网络通信,常用于游戏的开发、中间件服务端的程序中。 Mina最主要的工作就是把底层传输的字节码转换为Java对象,提供给应用程序;或者把应用程序返回的结果转换为字节码,交给底层传输。 1.2 mina传输数据的类型 ...

健康平安的活着的专栏 6640

java mina udp_【原创】NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示

前言NIO框架的流行,使得开发大并发、高性能的互联网服务端成为可能。这其中最流行的无非就是MINA和Netty了,MINA目前的主要版本是MINA2、而Netty的主要版本是Netty3和Netty4(Netty5已经被取消开发了:详见此文)。本文将演示的是一个基于MINA2的UDP服务端和一个标准UDP客户端(Java实现)双向通信的完整例子。实际上,MINA2的官方代码里有完整的UDP通信De...

weixin_39823200的博客 268

java mina 框架的书_Mina网络通信框架

由于传统的 Socket 网络编程基于一个线程对应一个客户端的实现方式,大量的线程创建和销毁导致性能下降,无法应对高并发量的访问,所以基于服务器端的网络通信开发,我们常用 Mina 网络通信框架,即常说的 Java NIO ( java non-blocking IO ) 开发。首先,我们来看看 Mina 的几个重要接口:•IoServiece :这个接口在一个线程上负责套接字的建立,拥有自己的 ...

weixin_42548961的博客 265

java mina 中间件_MINA网络通信框架

基本介绍:ApacheMINA2是一个开发高性能和高可伸缩性网络应用程序的网络应用框架。它提供了一个抽象的事件驱动的异步API,可以使用TCP/IP、UDP/IP、串口和虚拟机内部的管道等传输方式。ApacheMINA2可以作为开发网络应用程序的一个良好基础。Mina的API将真正的网络通信与我们的应用程序隔离开来,你只需要关心你要发送、接收的数据以及你的业务逻辑即可。mina的基本架构:在图中的...

weixin_30399511的博客 566

mina 框架java服务端的搭建和通信

创建java项目,导入mina包。mina下载地址:http://mina.apache.org/ 不会用mina的请各种百度谷歌吧。。 新建MainServer.java类,继承于Thread并实现main函数。 然后就在MainServer类里搭建main结构啦。 类如下: 1 2 3 4 5 6

dodott的专栏 996

java mina串口通信_Java通讯框架介绍(MINA、Cindy、QuickServer)[转]

Java通讯框架,有时也被称为网络服务器,其实就是封装IO操作,并提供更高级的API接口。目前比较流行的框架就是:MINA、Cindy、QuickServer等。前段时间为了缩短开发时间,也在项目中加入了这些框架,从最开始使用QuickServer 1.4.7出现的报文接收不全异常;到用Cindy 2.4.4作为临时过渡,到最后确定使用MINA 1.0.1,也经历了一个艰辛而痛苦的时期。下面是整理...

weixin_42365604的博客 623

java mina 推送_基于Java Mina 通信框架的JT/T809转发服务器设计

Apache MINA 是 Apache 组织的一个开源项目,为开发高性能和高可用性的网络应用程序提供了非常便利的框架。 也是Java开发者的一个福利(.NET目前还没有类似封装的这么好的基础socket通信框架),不用像.NET开发者,吭哧吭哧的写上半天,一看还在搞socket库呢,还没进入应用层面。这个框架的优点:– 异步– 无阻塞– 事件驱动– 支持TCP, UDP, APR, 串口…– 通...

weixin_33218578的博客 438

【Java基础25】网络编程,协议,客户端通信,URL,MINA框架

网络编程,协议,客户端通信,URL,MINA框架

天赋决定上限,努力决定下限! 158

java mina通信框架使用

一,服务端 1.起一个tcpServer 2.编写处理类,该类处理业务逻辑 3.设置过滤器链 4.绑定端口 NioSocketAcceptor acceptor = new NioSocketAcceptor(); DefaultIoFilterChainBuilder chain = acceptor.getFilterChain(); ...

程序人生 288

java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架

Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP、UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务、虚拟机管道通信服务等),Mina 可以帮助我们快速开发高性能、高扩展性的网络通信应用,Mina 提供了事件驱动、异步(Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持)操作的编程模型。Mina 主要有1.x

云潇洒 3586
上一篇: goole官方UI设计规范——Material Design
下一篇: 通信协议---XMPP
codelady
博客等级 码龄11年 26粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值