Grails 3,如何通过网络套接字发送/接收消息(不是主题!)

时间:2017-07-07 22:08:40

标签: grails websocket

有没有人知道一个非常简单的onConnect onMessage onClose结构的例子,用于grails-spring-websocket?

尝试在grails 3中实现Web套接字时的第一个问题是要使用哪个插件库。它需要是一个将在grails中支持的版本,因此它将获得新版本,并且具有大量用户,示例和/或文档。

This article正是我所需要的 - 用户连接的能力,存储集合中连接用户的列表,客户端向服务器发送消息,让服务器发送异步"回复"返回连接用户的一个或一小部分。但它使用带有grails的模糊套接字实现(javax.websocket:javax.websocket-api:1.1)。

这一个:https://plugins.grails.org/plugin/zyro/grails-spring-websocket似乎更受欢迎,但我发现的所有示例仅涵盖主题发布/订阅,并且与个别客户端没有任何关联。虽然我可以为每个客户创建一个主题,但这比它应该复杂得多。此外,配置看起来很神秘而且过于复杂,应该没有。

有人建议使用wschat插件作为tictactoe游戏完成它,但实际上我只需要一个简单的套接字实现与onConnect onMessage和onClose回调 - 没有发布和订阅,没有主题等。

我使用" ws"在node.js中用5分钟实现了这个。插件,这很简单,例如:

wss.on("connection", myFunction(ws) {..}
ws.on('message', function(message) {
        messageHandler(message, ws)
    })
ws.on('error', function(er) {
        console.log(er)
    })
ws.on('close', function() {
        console.log('Connection closed')
})

是否有类似于grails的官方网络套接字插件,或者我应该坚持使用websockets的节点?不需要安全性或其他功能(安全性通过传递用户/传递安全套接字来处理"登录"消息 - 或多或少与网络登录相同)

更新

没有运气,但却找到了处理简单websocket事件并将Web套接字消息发送回用户的方法。 This plugin看起来很有希望,但它只处理主题/队列。前面提到的使用javax.websocket-api的文章很丑陋,但或多或​​少都是我们需要的,但不幸的是因为它是独立的代码,你无法从处理程序访问数据库或服务,服务无法发送消息

0 个答案:

没有答案