Riohyc / netty-chat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

netty-chat

采用websocket协议的实现了点对点,广播推送的聊天室项目。

服务端基于netty,客户端基于js+html。

服务端

服务端打包后的可执行jar为out\artifacts\netty_chat_jar下的netty-chat.jar

运行命令为java -jar netty-chat.jar

服务器启动后默认监听8080端口,也可以在命令中加入端口号例如java -jar netty-chat.jar 8888

默认创建两个账号:

用户名 密码 类型 功能
root root 管理员 可以向任意用户点对点发送消息
hyc hyc 普通用户 可以向所有用户群发消息

客户端

客户端直接打开src\main\resources下的html文件即可

  • chat.html聊天页
  • index.html登录页
  • register.html注册页

通信

通信消息使用JSON格式,所有消息均包含op属性用以区分消息的类型。例如

{
  "op":"login",
  "username":"root",
  "password":"root"
}

{
  "op":"updateChannel",
  "username":"root"
}

{
  "op":"getAllUser",
  "onlineUsers":[
    {
      "id":0,
      "username":"root"
    },
    {
      "id":1,
      "username":"hyc"
    }
  ]
}

About


Languages

Language:Java 35.4%Language:JavaScript 35.3%Language:HTML 29.1%Language:CSS 0.3%