Socket仿qq聊天工具(数据库版一)
程序员文章站
2022-04-08 21:39:22
...
作为一个数据库版本的Socket的仿qq聊天工具。首先最基本的是要有一个用户表。下面是用户表的结构:
CREATE TABLE USER(
uid INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
PASSWORD VARCHAR(50) NOT NULL,
nickname VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL
)
正常情况下还应该有一张message的表,记载着有关消息的相关信息。作为消息首先要有消息的id,而后还要明确消息的来源以及去向。而后作为群聊消息来说首先要建立一个群的表。比如我们这个群里面有1,2,3这三个人。比如1要通过这个群发消息,那么就应该把群的id和这条消息发送给服务器,而后服务器根据群的id找到这个群里面有哪些人,而后服务器再根据这些人的id发送消息。
但是在这里就先不考虑群消息了,这里先做一些有代表性的功能,如果后面有扩展再添加吧,或者各位可以自己添加。
#消息表 一对一聊天的消息,群消息和一对一聊天的消息可以合并到一张表中
CREATE TABLE message(
MID INT PRIMARY KEY AUTO_INCREMENT,
fromid INT,#发送者的id
toid INT,#接受者的id
FOREIGN KEY (fromid) REFERENCES USER(uid),
FOREIGN KEY (toid) REFERENCES USER(uid),
content VARCHAR(255),#消息内容
sendTime DATETIME, #发送时间
offered TINYINT DEFAULT 1 #是否为离线消息 1是正常的消息 2离线消息
)
这里就暂时不考虑群聊了,还是以快速开发完成该功能为主。
而后是好友的表:
#好友列表
CREATE TABLE friends(
fid INT PRIMARY KEY AUTO_INCREMENT,
uid INT,#当前用户
friends INT,#好友
FOREIGN KEY (uid) REFERENCES USER(uid),
FOREIGN KEY (friends) REFERENCES USER(uid),
UNIQUE(uid,friends) #同一个好友只能加一次
)
作为表就先确定为这三张表吧,用sqlyog呈现出来的结构如下:
上一篇: PHP-自定义流过滤器
下一篇: Nginx系列
推荐阅读