问题标签 [nio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何通过 MINA 正确发送数据?
我正在尝试开始使用 MINA,并且所有示例似乎都将数据写入会话,而不是使用可以一遍又一遍地写入相同类型数据的方法。
我正在尝试使用org.apache.mina.filter.codec.demux.MessageEncoder
/ MessageDecoder
to encode
/decode
消息,这将允许我始终在中心位置执行任务,而不是像示例那样在代码中内联执行它。
假设我有一个ProtocolCodecFactory
(which extends DemuxingProtocolCodecFactory
) 有一个LoginRequestEncoder
(which implements MessageEncoder<LoginRequest>
,并通过工厂的addMessageEncoder
方法添加)。这是否意味着我不应该直接session.write()
使用用户名/密码数据调用,而是应该做这样的事情?
我不会撒谎...... MINA 似乎应该简化网络过程,我相信当我掌握它时它会,但我现在完全糊涂了。
java - Java.NIO InvalidIndexException - 如何通过随机访问大文件进行读写
我创建了一个java.nio.MappedByteBuffer
围绕一个java.io.RandomAccessFile
(一个只有 54 KB 大小的文件)。结果MappedByteBuffer
具有大约 12 KB 的“容量”和“限制”,所以当我尝试调用mybytebuffer.get(i > 13044)
或mybytebuffer.put(i > 13044, value)
它抛出一个InvalidIndexException
.
所有这些行为都记录在 Sun 的官方 javadocs 中。我的问题是如何使用java.nio ByteBuffers
文件中的任何位置读取或写入(我需要随机访问)。我似乎找不到说明非顺序访问的 Java NIO 示例或文档。
java - java.nio.file 在哪里
我正在阅读 java 文档,告诉我应该有一个 java.nio.file 命名空间。但是当我尝试导入它时,预编译器抱怨它不存在。
这是怎么回事?
java - Java、C++、NIO、映射缓冲区、同步
博览会:
我在 Linux / Mac 上。
我的部分代码是用 Java 编写的,我的部分代码是用 C++ 编写的。
它们都具有相同的文件映射以实现快速通信。
我想同步 Java 和 C++ 代码。
我知道以下内容:
1)给定Java中的两个线程,我可以使用锁/监视器。
2) 给定一段 Java 代码,一段 C++ 代码,我可以让它们通过 tcp/ip 同步
3) 给定两个已映射内存区域的 C++ 代码,我可以使用 gcc 的 compare_and_swap 对映射区域中的整数进行同步。
问题:
鉴于我的部分代码是用 Java 编写的,我的部分代码是用 C++ 编写的,我能以某种方式做 (3) - JVM 是否支持某种类型的原子比较和交换?那么我的 Java 和 C++ 代码都可以使用这个整数作为某种锁吗?
谢谢!
java - 在不使用 java.io.* 的情况下获取 FileChannel(使用纯 NIO)
最近,我收到了对此答案java.io
的评论,如果我想使用“纯 NIO” ,我应该远离。
这是简化的代码(复制文件):
(代码极其简化:删除了 try-finally 和循环)
我的问题是如何在FileChannel
不使用 java.io ( ) 的情况下获取一个或其他 NIO 类来读取文件FileInputStream
?
编辑:
Java 6(或仅之前)
java - MINA:finishDecode 是我发送响应消息的地方吗?
在使用 Apache MINA 时,我从客户端发送登录请求,该请求在服务器上通过LoginRequestDecoder (implements org.apache.mina.filter.codec.demux.MessageDecoder)
.
我现在想发送一个LoginResponse
包含成功/失败代码的响应 ()。我应该从该LoginRequestDecoder's
finishDecode()
方法发送响应,还是有更好的地方可以忽略它?
java - 是否需要不基于 Spring/Tomcat 的 Java 7 云服务器框架?
是否存在对旨在使云服务更优雅的小型、轻量级、基于 Java 7 的开源项目的需求?我在我的一生中编写了几台服务器,并且很好奇是否需要这样做。
我的想法是保持简单、轻量,并使用 Java 7 NIO 2 功能进行网络通信。我还在考虑使用广播地址在机架解决方案 (MBONE) 中的服务器之间进行基于本地云的通信,或者使用基于序列化的通信协议。
我不想使用 Spring 或 Tomcat,因为它们太重了,而且它们是用较旧的 Java 技术编写的。此外,我不想使用另一个 Apache 项目,因为它过于依赖 Apache 技术。这里的关键词是“小”、“轻”、“便携”和“高效”。
也许这甚至有可能被安装在移动设备中作为后台服务器使用,甚至是移动云网络。
java - 递归列出Java中的文件
如何递归列出Java目录下的所有文件?该框架是否提供任何实用程序?
我看到了很多 hacky 的实现。但是没有来自框架或nio
java - 如何扩展这个单线程 Java 客户端?
我正在用 Java 编写一个 Stomp 协议客户端,它只有一个线程来处理 IO。这意味着线程来回读取和写入应用程序的传入数据。我的问题是,如果将来我需要使用多线程和 NIO 扩展此应用程序,该如何安排?
我的 IO 处理器线程称为“TcpLink”链接,它具有以下骨架
如果我需要允许多个线程分派传入的消息,应该如何更改这个类?
谢谢!
java - nio FileChannel.transferFrom 传输 0?
我正在尝试使用 NIO 使用 transferFrom 从几个较小的文件中组装一个文件。
对 transferFrom 的调用返回 0。没有例外。没有做任何事情来打开同步行为。
示例日志: