chatroom

command module
v0.0.0-...-cfc3de4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

README

Go实现的聊天室程序

需要的软件支持或者需要了解什么

1:数据库(我是用的是MySQL Workbench 8.0 CE) 2:熟练使用Go语言 3:熟悉Go语言的TCP通信方式 4:vs code的熟练使用

表结构的设计

users表

主键是username(用户名),还有userpassword(用户密码),还有一个flag(用户在没在线)

offlineuser表

主键是username(用户名),还有一个message(存储用户的)

groups表

这个表的主键是group_id也就是房间号码,第二个是username(主要存储的就是到底是谁创建了这个房间,也就是群主)

group_users表

这个表有两个值。一个是username,另一个是group_id。主键是由他们两个一块组成的,是联合主键

完成的功能

1:注册模块 2:登陆模块 3:展示在线的人数 4:一对一通信 5:多对多通信

注册模块

用户输入账户(主键)和密码,然后存储在后端的users表里面

登陆模块

用户输入账户和密码,然后再后端的users表里面去查找,有的话就告诉用户登陆成功,没有的话,让用户重新去输入,当输入的次数达到3次上限的话,就退出到,注册和登陆的界面。

展现在线的人数

再users表里面返回flag为1的用户名

一对一通信

首先第一步返回再users表里面注册的人数,返回给用户。当服务器这表读到了用户输入的username+message然后先查找这个用户在没在users表里面,如果在的话就直接发送给这个用户,如果不在的话,就发送到离线表里面,当这个用户在此上线的话。离线表里面的信息就会发送过来

多对多通信

首先在我们选择进入多用户聊天的时候,会出现让你输入你的房间号,假如你输入的房间号是错误的,而且累加到了三次,就从这一层退出了。那假如你输入的是正确的,就会让你输入信息,然后就会传送到在线的玩家的终端上面,这样就实现了多人聊天室的通信。 而且对于删除房间的操作也有两步,第一步当时admin的时候的做法时,删除在这个房间里面的所有的人,第二步当不是admin的时候的做法就是只是自己从那个群里面退出来了而已。

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL