思路: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