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