Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 内蒂没有';t在没有'的情况下读取字符串\n';_Java_Sockets_Netty - Fatal编程技术网

Java 内蒂没有';t在没有'的情况下读取字符串\n';

Java 内蒂没有';t在没有'的情况下读取字符串\n';,java,sockets,netty,Java,Sockets,Netty,C语言中有一个Socket客户端,Java语言中有一个Socket服务器,使用Netty框架。当客户端将字符串发送到服务器端时,它们发送字符串时不带任何分隔符,\n或\r。由于这个原因,在服务器端我们无法获取任何数据,因为我知道Netty需要分隔符。有没有办法不使用分隔符从客户端获取字符串?这是我的服务器初始值设定项代码: @Override protected void initChannel(SocketChannel socketChannel) throws Exception

C语言中有一个Socket客户端,Java语言中有一个Socket服务器,使用Netty框架。当客户端将字符串发送到服务器端时,它们发送字符串时不带任何分隔符,\n或\r。由于这个原因,在服务器端我们无法获取任何数据,因为我知道Netty需要分隔符。有没有办法不使用分隔符从客户端获取字符串?这是我的服务器初始值设定项代码:

@Override
    protected void initChannel(SocketChannel socketChannel) throws Exception {          
        ChannelPipeline pipeline = socketChannel.pipeline();
        pipeline.addLast("framer", new DelimiterBasedFrameDecoder(8192, Delimiters.lineDelimiter()));
        pipeline.addLast("decoder", new StringDecoder());
        pipeline.addLast("encoder", new StringEncoder());
        pipeline.addLast("timeout", new ReadTimeoutHandler(30));
        pipeline.addLast("handler", new TRSServerInterfaceHandler());

    }

如果发送时没有分隔符,请不要指定行终止符作为分隔符。这是显而易见的吗?消息必须以某种方式定义:它是什么?字长前缀?固定长度?自描述协议(例如XML)?如果发送时没有分隔符,请不要指定行终止符作为分隔符。这是显而易见的吗?消息必须以某种方式定义:它是什么?字长前缀?固定长度?自描述协议(例如XML)?