我有一个基本的Netty服务器(来自教程)(http://netty.io/wiki/user-guide-for-4.x.html),它会接收来自客户端的请求,但如何向客户端发送字符串呢?
例如,在普通的Minecraft服务器上,您在配置文件中指定“MOTD”,当客户端从服务器列表中发出信号时,它将显示该字符串。我需要做同样的事情,但是从我的服务器代码中。
此处理程序显示MOTD的发送:
https://github.com/Bukkit/mc-dev/blob/c1627dc9cc7505581993eb0fa15597cb36e94244/net/minecraft/server/LegacyPingHandler.java
只是碰巧MOTD处理在第69行:https://github.com/Bukkit/mc-dev/blob/c1627dc9cc7505581993eb0fa15597cb36e94244/net/minecraft/server/LegacyPingHandler.java/#L69
当通道接收到ping数据包时,它将响应编码成字节缓冲区,并将其写回通道。
如果你想把MoTD发送给客户,你必须弄清楚在协议和数据方面发送了什么。
例如,在最基本的形式中,发送的数据可以是1字节的操作(display motd),然后是可变长度的字符串。
如果我必须找出如何发送这个,我会去看看开源的bukkit存储库或我的世界反编译代码存储库,找出自己做这件事的方法。
更新:在查看代码时,Minecraft似乎也使用Netty,因此这在理解它方面发挥了优势。不幸的是,代码是非官方的反编译,因此混淆了。
更新2:我认为你应该检查的课程是
net.minecraft.server.PacketStatusOutServerInfo
发送的数据似乎是ServerPing类生成的JSON。
你也可以查看Minecraft协议(特别是Ping);在这里,修改者可以找到协议的解释
我有一个Netty客户端和一个Netty服务器,并按照主要教程后,为了有一个EchoClient/服务器,我想让它,使我的客户端发送消息到我的服务器,当他第一次连接到它。 下面是我的的方法,这些方法应该解决这个问题: 但是正如你所看到的,教程使用了一个ByteBuf和一个String似乎不起作用! 下面是我如何在我的方法中显示收到的消息: 但是当为使用并在构造函数中初始化它并发送它时,我的服务器不
我使用的是Netty 3.9.5,我有一个简单的客户机-服务器设置,我从http://en.wikipedia.org/wiki/Netty_(软件)#Netty\u TCP\u示例。我扩展了这个示例,将Java search plan对象从客户端发送到服务器。在这个网站上跟踪用户的帮助下,我已经能够让这个程序按预期运行。 现在,我想让我的读卡器/服务器程序同时接受多个客户端。我想我会使用下面列出
我正在创建我的产品,并与这个问题。有一天,我设置了Socket.io,一切都很好。第二天,我将服务器和客户端从http迁移到HTTPS。迁移后客户端和服务器端仍然连接,但不能从客户端发射到服务器,从服务器发射到客户端。 我的ssl证书位于和中,它们加载正确。运行在上的服务器 我的示例react组件。我的react应用程序运行在上。HTTPS连接良好,工作良好。 我该怎么办?也许我在中错误地使用了s
问题内容: 我将实现类似于Facebook通知和此网站的内容(StackOverflow的通知会通知我们是否有人为我们的问题写评论/答案等)。请注意,用户将使用我的应用程序作为网站而不是移动应用程序。 我遇到以下获取结果的答案,但我需要推送结果而不是获取结果。 根据建议,我在实体类中创建了一个简单方法,并向其中添加了@PostPersist,但此方法不起作用,因此基于此答案,我添加了persist
我正在试用netty,但当我响应时,客户端似乎没有收到我的消息。我使用Java NIO和socketChannel编写了相同的代码,看起来很好。我这样说是因为客户机会记录我发送的任何内容。下面是我的服务器 下面是我的服务器处理程序 } 示例响应: 我正在我的盒子上做一个tcpdump,我看到了我在电线上发送的内容,所以我不确定我做错了什么。而且,几分钟后,这会被记录下来,我不确定我在服务器或服务器
我怎么给鲍勃发信息?