python 实现一个简单的聊天系统
一、 功能说明:客户端:
(1)注册
(2)登录
(3)添加好友
(4)加黑好友
(5)发送、接收消息
服务端:
(1)处理注册信息;
(2)反馈登录请求
(3)好友关系设置
(4)转发双方好友消息
(5)查看信息
二、环境:
数据库: oracle11g。可以通过修改服务器的 db_setting, 换上自己的数据库。
通信: socket中的tcp通信。
程序入口:
客户机 :client
服务机: server
客户端、服务端.rar
暖心oc 发表于 2019-12-19 23:58
请问下大佬,数据库表单该怎么建?
SQL> ed
已写入 file afiedt.buf
create table user_info(
name char(20) notnull,
idchar(20),
pw char(20)not null,
reg_time timestamp,
limit int,
primary key(id)
)
表已创建。
SQL> ed
已写入 file afiedt.buf
create table tmp_chat_record(
from_id char(20) not null,
recv_idchar(20) not null,
record varchar(200),
save_time timestamp,
constrainttmp_from_user foreign key (from_id) references user_info(id),
constrainttmp_recv_user foreign key (recv_id) references user_info(id)
)
表已创建。
SQL> ed
已写入 file afiedt.buf
create table relation(
a_idchar(20),
b_idchar(20),
rel char(7)check( rel in ('好友','黑名单')),
primary key(a_id, b_id),
constraintuser_a foreign key (a_id) references user_info(id),
constraint user_b foreign key (b_id) references user_info(id)
)
表已创建。
SQL> ed
已写入 file afiedt.buf
create sequence seq_record
increment by 1
start with 1
nomaxvalue
nocycle
cache 10
序列已创建。
SQL> ed
已写入 file afiedt.buf
create table chat_record(
idvarchar(30) primary key,
from_id char(20),
recv_idchar(20),
recordvarchar(200),
save_time timestamp,
limit varchar(3) check( limit in ('y','n'))
constraint from_use foreign key (from_id) references user_info(id),
constraint recv_use foreign key (recv_id) references user_info(id)
)
partitionby list(limit )
(
partition limit_y values('y'),
partition limit_n values('n')
)
表已创建。
SQL> ed
已写入 file afiedt.buf
create trigger record_seq before insert on chat_record for each row when (new.id is null)
begin
select seq_record.nextval into:new.id from dual;
end;
触发器已创建
SQL> ed
已写入 file afiedt.buf
create tablelimit_chat_record(
user_id char (20),
record_id varchar(30),
constraintuser_limitforeign key (user_id) references user_info(id),
constraintrecord_limit foreign key (record_id) references chat_record(id)
)
表已创建。
不是外网的吧 有点强,研究研究 谢谢分享,学习学习! 感谢分享,学习了 大佬牛逼。学习一下。 谢谢分享,学习了! 大佬牛逼。学习一下。 筱闲 发表于 2019-12-14 23:14
可以部署到网站吗?
可以 ,服务端文件夹里的server.py 下有一个 response() 方法 , 把它修改修改成http协议就可以了。