socketchannel

    2热度

    2回答

    我有一个阻塞队列,其中有多个写入者正在写入。我想把一个事务控制机制放在不超过50个编写者(或接近)每秒可写的地方。有没有办法实现它? 编辑1:使用SocketChannel写入方法有类似的要求。这是为了允许n位作者每秒写入数据。 n的值有所不同。我不必担心这一点。 另一个编辑:我想使用一个循环屏障,我将每秒发布&重置。我正确的方向吗?

    0热度

    1回答

    我想通过开始发送文件名来获取通过IP(SocketChannel)传输的文件。我相信这个问题是在阅读ByteBuffer,但我不知道如何纠正它。 FileSender部分: public void sendFile(SocketChannel socketChannel) { try { File file = new File("B:\\Software\\OLD.zip"

    0热度

    2回答

    在我的应用程序我有这样的代码: SamplePoolableObjectFactory factory = new SamplePoolableObjectFactory(); this.pool = new SampleObjectPool(factory); ..... SocketChannel channel = null; try {

    1热度

    2回答

    这是一个非常基本的问题,但我不能为它找到任何地方一个明确的答案: 当我accept()从的ServerSocketChannel的连接,我是保证返回的SocketChannel是“connected”,或可能呢发生返回的频道仍在执行某种形式的握手或其他任何操作,只会稍后将其设置为SelectionKey.OP_CONNECT位? 换句话说,我是保证,下面的代码片段将从未打印false? Serve

    0热度

    1回答

    我只是想知道是否可以使用SocketChannel类(使用ByteBuffer)来模拟Java中的常规Socket类的阻塞特性。我做了两个试验项目,一个模拟客户端和其他模拟服务器: 客户端代码: public static void main(String[] args) throws IOException { SocketChannel socket = SocketChannel

    1热度

    1回答

    我需要管理从我的Java应用程序到外部服务器的长时间运行的TCP套接字连接。我正在寻找一个好的套接字池,所以我将能够重新使用套接字。 还有另一种解决方案,比org.apache.commons.pool2?

    0热度

    1回答

    我知道在调用read()后,SocketChannel通过接收“-1”得到有关有序关闭连接的“通知”。 但是它怎么能通知我关于无序关闭连接? (作为整个基于NIO的服务器的一部分,使用选择器和非阻塞socketChannels)

    0热度

    1回答

    根据https://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html#OP_READ 假设一个选择键的interest集合包含OP_READ在选择操作的开始。如果选择器检测到相应的通道已准备好读取,已达到流尾,已被远程关闭以供进一步读取,或者有待处理的错误,则会将OP_READ添加到该键的就绪操作集并添加它的

    2热度

    1回答

    朋友发送数据!我是Java NIO的新手,目前我正在尝试制作一个无阻塞的聊天应用程序。客户端连接到服务器没有问题。客户端向服务器写入消息或少量消息,但服务器只有在客户端代码关闭Socket连接时才开始读取消息,因此必须为客户端代码创建并关闭每个消息的SocketChannel(或仅Socket)。 - 这在我看来不正确。我用简单的Java I/O和NIO Selector尝试了客户端。同样的问题

    1热度

    1回答

    因此,我使用Java中的SocketChannels发送和接收项目数据。该项目与需要数据的ByteBuffer但以4字节为前缀的第三方进行交互。 当收到我会收到一个ByteBuffer,我需要从前面解构出4个字节的长度并提取数据。我收到的消息不是固定长度。 我目前的执行情况如下: public PedResponse send(ByteBuffer message) { String