山野村夫-陈墨 发表于 2019-12-14 23:00

python 实现一个简单的聊天系统

一、 功能说明:
       客户端:
      (1)注册
      (2)登录
      (3)添加好友
      (4)加黑好友
       (5)发送、接收消息
      服务端:
       (1)处理注册信息;
       (2)反馈登录请求
       (3)好友关系设置
       (4)转发双方好友消息
      (5)查看信息
二、环境:
       数据库: oracle11g。可以通过修改服务器的 db_setting, 换上自己的数据库。
       通信:   socket中的tcp通信。
      程序入口:
                  客户机 :client
                   服务机: server


客户端、服务端.rar
      

山野村夫-陈墨 发表于 2019-12-21 13:06

暖心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-15 18:33

筱闲 发表于 2019-12-14 23:14

pengtusheng 发表于 2019-12-14 23:18

不是外网的吧

随梦期初 发表于 2019-12-14 23:56

有点强,研究研究

xie8xie 发表于 2019-12-15 00:04

谢谢分享,学习学习!

MOEYU_VANILLA 发表于 2019-12-15 00:10

感谢分享,学习了

diyikuai 发表于 2019-12-15 00:36

大佬牛逼。学习一下。

menyhai 发表于 2019-12-15 09:11

谢谢分享,学习了!

深知 发表于 2019-12-15 10:40

大佬牛逼。学习一下。

山野村夫-陈墨 发表于 2019-12-15 15:04

筱闲 发表于 2019-12-14 23:14
可以部署到网站吗?

可以 ,服务端文件夹里的server.py 下有一个 response() 方法 , 把它修改修改成http协议就可以了。
页: [1] 2 3
查看完整版本: python 实现一个简单的聊天系统