思路:php
1用户发送好友申请以后 把申请储存到申请数据表中,状态为 未验证mysql
2 当用户登陆时,查询申请表中是否有uid和被申请人id相同的,若是赞成,更改状态,并把数据插入到对应的好友数据表,不然,删除申请数据表中数据web
3,当一方删除好友时,从被删除人中删除删除人的好友sql
4 建立分组名称字段,字段设定好值,让用户选择,或者让用户自定数据库
5 当查询时候列出数据表信息服务器
附:mysql数据表 共两个websocket
#以上步骤是对数据库的操做,你能够实例化,
#好友表
mysql_query("CREATE TABLE `t_friend` (
`id` int(11) NOT NULL auto_increment COMMENT
'自增id'
,
`uid` int(11) NOT NULL COMMENT
'用户id'
,
`fid` int(11) NOT NULL COMMENT
'好友uid,用,分割,能够有多个'
,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#申请表
CREATE TABLE `t_shenqing` (
`id` int(11) NOT NULL auto_increment COMMENT
'自增id'
,
`uid` int(11) NOT NULL COMMENT
'被申请用户id userid'
,
`sid` int(11) NOT NULL COMMENT
'好友申请人id'
,
`text` varchar(255) NOT NULL COMMENT
'附言'
,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
");
每一次用户请求操做,就会对数据库进行一次查询或更新, socket
完毕ui
固然 前面提到的是在百度知道里面看到的.可是这种思路却打开了我另一条思路,用户在登陆的时候即可以创建一个与本身用户名绑定的socket.无论是web应用仍是一些移动应用.固然,你能够创建websocket,或者时socket来进行通讯.当有好友添加你为好友的时候,这时候服务器收到添加好友请求.而且向你请求的好友的那个socket(登陆的时候就绑定了socket.因此你知道到底该发给哪一个人)发送通知.当好友赞成添加你为好友时,你也能够收到系统消息说好友已赞成添加你为好友等信息.这样的话就不仅是操做数据库那么简单了..能够考虑实现一下spa