-
一个关于Mina客户端发送字符串到服务端的问题5
我现在有如下需求
有一个命令序列,包含三个命令
1.调整命令
2.测量命令
3.获取命令
每个命令,对应的服务端都可能会返回一个字符串。
现在的需求是:
step1.发送命令1,如果服务端没返回结果,重新发送,如果返回了,则执行step2
step2.发送命令2,如果服务端没返回结果,重新发送,如果返回了,则执行step3
step3.发送命令3,如果服务端没返回结果,重新发送,如果返回了,则执行step1
请问该如何检测命令发送出去后,怎么检测服务端是否返回?请不要告诉我用while(true)这种方式
(PS:有个ReadFeature.await,但是我不太会用,)2012年7月18日 21:09
目前还没有答案
相关推荐
在"客户端发送字符串请求"这一场景中,客户端会创建一个Mina的Socket连接到服务器,并构建一个包含请求信息的字符串。这个字符串可以通过Mina的WriteRequest对象发送,WriteRequest通常包含一个ByteBuffer或一个可...
客户端可以发送字符串或对象到服务端,然后接收服务端返回的数据。 关于数据传递,Mina支持多种数据类型,包括字符串和自定义对象。对于字符串,可以直接通过`write()`方法写入;而对于自定义对象,通常需要实现...
- **字符串请求**:客户端首先会建立一个Mina连接到服务器,然后创建一个Session对象,通过Session发送一个包含文件名的字符串请求。 - **编码与解码**:在发送请求时,需要将字符串转换成字节流,Mina提供了...
本项目提供了一个完整的Mina双向通信示例,允许客户端和服务端互相发送消息。该demo的核心功能是接收用户输入的字符串并进行传输,适用于学习和理解Mina框架的通信机制。 **Mina框架** Mina采用事件驱动模型和非...
Apache Mina是一个高性能、异步事件驱动的网络应用程序框架,主要用在开发网络通信应用,如TCP/IP和UDP/IP协议的服务器和客户端。这个框架允许开发者以一种简单、高效的方式处理I/O操作,同时提供了丰富的功能,如多...
1. **创建ProtocolCodecFactory**:定义一个codec工厂,用于将时间字符串编码成字节流,以及将字节流解码回时间字符串。 2. **配置Mina Service**:设置监听端口,创建IoAcceptor,并关联编码解码器。 3. **编写...
在`messageReceived`方法中,根据接收到的字符串消息判断客户端输入是否为"quit",如果不是,则向客户端发送当前时间。 ### MINA架构简介 MINA架构的设计便于开发者快速实现复杂网络应用。核心是IoService,它作为...
以服务端应用为例,当有新的连接请求时,MINA会产生一个sessionOpened事件,开发者只需要在这个事件的处理方法中添加代码,就可以实现对连接打开事件的处理。 文档提到了两个示例应用:一个是简单的计算器服务,另...
为了处理字符串传输,Mina提供了`TextLineCodecFactory`,它可以方便地对字符串进行编码和解码。我们将这个编解码器添加到过滤器链中。 ```java acceptor.getFilterChain().addLast("codec", new ...
例如,我们可能会有一个Filter用于将接收到的字节流转换成字符串,另一个Filter用于响应客户端的请求。 3. 实现ProtocolCodec:根据需求选择或编写合适的Codec,用于数据的编码和解码。 4. 创建客户端:在客户端,...
前者记录所有通信过程,后者用于解析客户端发来的表达式字符串并将其转化为特定的数据结构。 3. **I/O 处理器**:定义一个 IoHandler 实现类,其中实现 sessionOpened 方法以初始化会话;实现 messageReceived 方法...
否则,获取当前日期并将其转换为字符串,然后回写到客户端。`sessionIdle`方法会在会话空闲时被调用,这里的实现是当会话两端均为空闲状态(BOTH_IDLE)时打印一条消息。 总的来说,`MinaTimeServer`展示了如何使用...
这里添加了一个名为 "codec" 的过滤器,它使用 TextLineCodecFactory 创建一个基于 UTF-8 编码的字符串编解码器。 最后,我们需要实现 IoHandler 接口来处理实际的业务逻辑,例如接收和发送数据的处理: ```java ...
通过以上步骤,你就创建了一个基础的TCP服务器,能够接收和处理基于字符串的网络通信。在实际应用中,你可能还需要实现IoHandler接口,定义具体的数据处理逻辑,并根据需求扩展过滤器链,以实现复杂的网络应用功能。...
1. **初始化IoService**:首先,你需要创建一个IoAcceptor,它是服务端和客户端的抽象,对于TCP服务器,你可以使用NioSocketAcceptor,它基于Java NIO的ServerSocketChannel。在`main`方法中,你会配置IoAcceptor,...
1. 客户端线程调用远程接口,生成一个唯一的 ID(比如一段随机字符串,UUID 等)。 2. 将打包的方法调用信息(如调用的接口名称,方法名称,参数值列表等),和处理结果的回调对象 callback,全部封装在一起,组成一...
Apache MINA 2 是一个功能强大的网络应用框架,旨在帮助开发者构建高性能、高可扩展性的网络应用程序。该框架采用事件驱动的异步 API 设计模式,支持多种传输方式,包括 TCP/IP、UDP/IP、串口通信及 JVM 内部的管道...
Spring Integration的Mina模块提供了一系列的转换器,如`ByteArrayStringDecoder`和`StringEncoder`,它们可以方便地将字节数组转换为字符串,或者反之。 在实际应用中,我们可能会遇到并发和性能问题。Spring和...
`IoBuffer` 是一个高效的数据缓冲区,支持直接操作字节,提供了多种读写方法,如读取/写入字节、字符串、整数等。在实现带有协议缓冲区的通信时,你需要定义数据结构并使用 `IoBuffer` 进行序列化和反序列化。 2. *...
后者直接替换为字符串,可能会引发注入风险。 - Mybatis的接口绑定提供了多种实现方式,包括XML和注解。 - Mybatis通过动态SQL和映射标签支持各种复杂的SQL语句,并通过插件机制允许用户自定义扩展。 2. **...