Jetty 关于websocket应用程序的几个问题

Jetty 关于websocket应用程序的几个问题,jetty,websocket,Jetty,Websocket,我目前正在使用Jetty作为我的websocket服务器,我正在尝试制作一个实时游戏。我对这真的很陌生。到目前为止,我已经设法在最简单的一个工作(这是聊天)。现在,我有几个问题: 我试图列出服务器中连接的当前用户;我如何制作这样的功能?我不知道这是否可行,但我的想法是,有一个时间间隔让服务器知道“嘿,我还活着。”我希望我的用户列表是动态的,如果用户注销,列表将刷新 我还尝试为我的应用程序创建“房间”。基本上,“1号房间”里的人看不到“2号房间”里的人在做什么;其他房间功能已经不言自明了。我仍然没

我目前正在使用Jetty作为我的websocket服务器,我正在尝试制作一个实时游戏。我对这真的很陌生。到目前为止,我已经设法在最简单的一个工作(这是聊天)。现在,我有几个问题:

  • 我试图列出服务器中连接的当前用户;我如何制作这样的功能?我不知道这是否可行,但我的想法是,有一个时间间隔让服务器知道“嘿,我还活着。”我希望我的用户列表是动态的,如果用户注销,列表将刷新

  • 我还尝试为我的应用程序创建“房间”。基本上,“1号房间”里的人看不到“2号房间”里的人在做什么;其他房间功能已经不言自明了。我仍然没有这个想法;有人能推荐一种实现这一点的方法吗

  • 到目前为止,我在学习这项技术方面一直很开心,如果能得到帮助,我将非常高兴。到目前为止,这两个是我的问题。我也愿意为我的应用程序提供任何建议

    提前谢谢大家。:-)


    (嗯,1和2可以单独用Javascript解决吗?

    你的问题并不是真正针对jetty或websocket的

    websocket只是为您的web浏览器提供了一种与服务器通信的传输机制—通过该传输设置的内容以及服务器管理信息的方式完全独立于websocket

    首先,如果您尚未阅读,请阅读本文:

    第二,考虑使用使这更容易-版本2(目前在beta版)支持WebSoCuff.< /P> 至于你的问题,你需要做两件事(Comed可以帮你)

    1。定义协议
    定义位于WebSocket之上的消息传递协议。WebSocket只是提供了一种发送数据块的方法,它们不定义数据的含义。您将需要构建这样做的东西,这样您就有了从客户端到服务器的消息

    • 连接“用户”
    • 你还活着吗
    • 加入“1号房间”
    • 离开房间
    • 获取用户列表
    • 发送消息“消息”
    然后您需要从服务器到客户端的消息

    • 接收消息“用户”“消息”
    • 接收用户列表“room1”
    您需要想出一些可靠的方法通过websocket发送数据。您可以发明自己的简单协议(如Jetty聊天示例),也可以使用JSON、XML或Comed频道

    2。服务器端状态
    如果你有简单的聊天功能,那么你一定已经开始了,但是你需要的另一点是一种跟踪的方式

    • 连接了多少用户
    • 他们叫什么名字
    • 它们连接到哪个插座
    • 他们在哪个房间

    根据您的系统将变得多么复杂,您可以将其存储在服务器上的一个大单例中

    嗨,蒂姆,谢谢你的回复!我如何知道哪些用户已断开连接?