Skip to content

Commit e800ec2

Browse files
author
hero
committed
添加推送服务
1 parent e358b94 commit e800ec2

File tree

4 files changed

+23
-11
lines changed

4 files changed

+23
-11
lines changed

go_push/gateway/push_job.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,17 @@ func NewPushTask() *PushTask {
1515
var p *PushTask
1616
p.DistributionTask = make(chan *PushJob, 10)
1717
p.JobChan = make([]chan *PushJob, len(roomTitle)) //一个房间对应一个job
18-
GetRoomManage().AllRoom.Range(func(key, value interface{}) bool {
19-
return true
20-
})
18+
for i, _ := range roomTitle {
19+
go p.distributionTask(i) //分发任务
20+
}
2121
return p
2222
}
2323

24-
func (p *PushTask) distributionTask() {
24+
func (p *PushTask) distributionTask(roomId int) {
2525

2626
}
27+
28+
func (p *PushTask) pushWork(roomId int) {
29+
var (
30+
)
31+
}

go_push/gateway/room.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import "sync"
44

55
//一个房间代表一个订阅推送类型
66
type Room struct {
7-
id string
7+
id int
88
title string
99
RConn sync.Map
1010
}
1111

12-
func NewRoom(id,title string) *Room {
12+
func newRoom(id int ,title string) *Room {
1313
return &Room{
1414
id: id,
1515
title:title,

go_push/gateway/room_manage.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ func GetRoomManage() *RoomManage {
2222
return manage
2323
}
2424

25+
func (r *RoomManage) NewRoom(id int, title string) error {
26+
_, ok := r.AllRoom.Load(id)
27+
if ok {
28+
return errors.New("already exists")
29+
}
30+
r.AllRoom.Store(id, newRoom(id, title))
31+
}
32+
2533
func (r *RoomManage) AddConn(ws *WsConnection) {
2634
r.AllConn.Store(ws.GetWsId(), ws)
2735
}
@@ -30,7 +38,7 @@ func (r *RoomManage) DelConn(ws *WsConnection) {
3038
r.AllConn.Delete(ws.GetWsId())
3139
}
3240

33-
func (r *RoomManage) AddRoom(id string, ws *WsConnection) error {
41+
func (r *RoomManage) AddRoom(id int, ws *WsConnection) error {
3442
var room *Room
3543
val, ok := r.AllRoom.Load(id)
3644
if !ok {
@@ -43,7 +51,7 @@ func (r *RoomManage) AddRoom(id string, ws *WsConnection) error {
4351
return nil
4452
}
4553

46-
func (r *RoomManage) LeaveRoom(id string, ws *WsConnection) error {
54+
func (r *RoomManage) LeaveRoom(id int, ws *WsConnection) error {
4755
val, ok := r.AllRoom.Load(id)
4856
if !ok {
4957
return errors.New("not find room")
@@ -56,7 +64,7 @@ func (r *RoomManage) LeaveRoom(id string, ws *WsConnection) error {
5664
return nil
5765
}
5866

59-
func (r *RoomManage) PushRoom(id string, msg *WSMessage) error {
67+
func (r *RoomManage) PushRoom(id int, msg *WSMessage) error {
6068
val, ok := r.AllRoom.Load(id)
6169
if !ok {
6270
return errors.New("not find room")

go_push/gateway/ws_server.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import (
55
"github.com/gorilla/websocket"
66
"net"
77
"net/http"
8-
"strconv"
98
"strings"
109
"time"
1110
)
@@ -24,7 +23,7 @@ func InitWsServer() {
2423
NewRoomManage()
2524
//初始化房间
2625
for i := 0; i < 4; i++ {
27-
NewRoom(strconv.Itoa(i), roomTitle[i])
26+
_ = GetRoomManage().NewRoom(i, roomTitle[i])
2827
fmt.Println("新建房间推送类型", roomTitle[i])
2928
}
3029
// HTTP服务

0 commit comments

Comments
 (0)