/
example.go
124 lines (84 loc) · 2.34 KB
/
example.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package golang
import (
"net"
_"fmt"
"ueligo/area"
"ueligo/golog"
"github.com/antonholmquist/jason"
)
func (this TaskType)Auth( ) ReturnType {
//sdk:=new(Sdk).Init(this.Cmd,this.Sid,this.Reqid,this.Data )
sid:=area.CreateSid()
if( sid!="" ){
ret := ReturnType{ "ok","welcome" ,sid,"" }
return ret
}else{
ret := ReturnType{ "failed","failed" ,sid,"" }
return ret
}
}
func (this TaskType)Push( ) string {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
from_sid := this.ReqHeader.Sid
json_obj ,err:= jason.NewObjectFromBytes( this.Data )
if err!=nil{
return ""
}
to_sid ,_:= json_obj.GetString("sid")
sdk.Push( from_sid, to_sid, this.Data )
return ""
}
func (this TaskType)Broadcast( ) string{
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
from_sid := this.ReqHeader.Sid
json_obj ,err:= jason.NewObjectFromBytes( this.Data )
if err!=nil{
return ""
}
area_id ,_:= json_obj.GetString("area_id")
if( area_id=="global" ) {
golog.Error("broatcast global failed")
return ""
}else{
sdk.Broatcast( from_sid, area_id, this.Data )
}
return ""
}
func (this TaskType)GetUserSession( ) string {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
return sdk.GetSession( this.ReqHeader.Sid )
}
func (this TaskType)GetAreas( ) string {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
return sdk.GetAreasStr( )
}
func (this TaskType)JoinArea( ) string {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
//fmt.Println( "JoinChannel",this.Data )
if( sdk.AreaAddSid( this.ReqHeader.Sid ,string(this.Data) ) ){
return "ok"
}else{
return "failed"
}
}
func (this TaskType)LeaveChannel( ) interface{} {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
//fmt.Println( "LeaveChannel header:",this.ReqHeader )
if( sdk.AreaKickSid( this.ReqHeader.Sid ,string(this.Data) ) ){
return "ok"
}else{
return "failed"
}
}
func (this TaskType)KickSelf( ) interface{} {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
if( sdk.Kick( this.ReqHeader.Sid ) ){
return "ok"
}else{
return "failed"
}
}
func (this TaskType)GetBase( conn *net.TCPConn, cmd string, req_sid string ,req_id int,req_data string ) string {
sdk:=new(Sdk).Init( this.ReqType,this.ReqHeader,this.Data )
return sdk.GetBase()
}