当前位置: 首页 > 知识库问答 >
问题:

用于特定Xml标记的Netty解码器

姜兴业
2023-03-14

我试图使用netty创建一个TCP服务器,它运行一个TCP服务器,侦听传入的xml字符串,并将任何接收到的xml发送到所有打开的连接。

xml的格式总是相同的(开头和结尾)。

try {
    ServerBootstrap bootstrap = new ServerBootstrap()
            .group(listenGroup, speakingGroup)
            .channel(NioServerSocketChannel.class)
            .localAddress(new InetSocketAddress("127.0.0.1", mListeningPort))
            .childHandler(new ChannelInitializer<SocketChannel>() {
                @Override
                protected void initChannel(SocketChannel ch) throws Exception {
                    ch.pipeline()
                            //.addLast("string-decoder", new StringDecoder())
                            .addLast("xml-decoder", new XmlDecoder())
                            .addLast(new ServerHandler());
                }
            });            
    ChannelFuture channelFuture = bootstrap.bind().syncUninterruptibly();
} finally {
    listenGroup.shutdownGracefully();
    speakingGroup.shutdownGracefully();
}

im面临的另一个问题是建立到镜像服务器的连接,并将其添加到ServerBootstrap的输出列表中。我自己对此做了较少的测试,理论上一个引导到常规OL'引导程序的接口应该可以工作,但我不确定如何保持引导程序连接的活力,或者是否更好地使用通道并将其添加到ServerBootstraps组。

有什么想法吗?抱歉,如果这让我有点困惑,我想做什么。

共有1个答案

鲜于星波
2023-03-14

我的猜测是xml解码器不支持您用来分隔消息的括号。(也就是说,您实际上并没有发送有效的xml)有什么原因不能使用保存整个消息的最外层xml组吗?

 类似资料:
  • 7.14. 示例: 基于标记的XML解码 第4.5章节展示了如何使用encoding/json包中的Marshal和Unmarshal函数来将JSON文档转换成Go语言的数据结构。encoding/xml包提供了一个相似的API。当我们想构造一个文档树的表示时使用encoding/xml包会很方便,但是对于很多程序并不是必须的。encoding/xml包也提供了一个更低层的基于标记的API用于XM

  • 有谁能帮助我阅读作为Web服务调用响应的XML吗。 我得到的回应是这样的: 当我得到-1作为响应时,我想预先执行动作。我如何阅读它。我在GAE中使用struts,我使用

  • 问题内容: 我是xml.i的新手,我使用了xml文件,如下所示: 从上面的xml我只想更改 我该如何更改walltreet?作为WonderWorld?通过我的Java应用程序。 我写了如下所示的java方法: 通过使用上面的代码,我能够将所有标签文本更改为奇迹世界,但是我的意图是我只想更改walltreet?作为WonderWorld。 任何人请帮助我..... 问题答案: 用 作为您的条件。

  • 我陷入了一个棘手的问题,我应该使用JAXB库取消marshaX输入流,除了XML结构没有帮助。 我的问题是:标记用于值为>的的

  • 问题内容: 我一直在尝试使用SimpleXML,但它似乎并不喜欢看起来像这样的XML: 那么,哪个库将处理看起来像这样的标签(其中带有冒号)? 问题答案: 假设您有一些这样的xml。 您可以这样访问“ em”: 但是 ,如果需要日期字段,则此方法将 无法工作 ,因为您被卡在xhtml命名空间中。 您必须再次执行’children’以返回默认名称空间:

  • 我有这种结构的xml文件: 有没有可能将这种XML解组到一个对象中。问题是每个元素都有一些独特的标签。我想把这些值放到列表中,但是我不知道怎么做。