mirror of
https://github.com/duanhf2012/origin.git
synced 2026-03-12 11:07:53 +08:00
增加主动断开
This commit is contained in:
@@ -5,6 +5,9 @@ import (
|
|||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/duanhf2012/origin/service"
|
||||||
|
"github.com/duanhf2012/origin/sysmodule"
|
||||||
)
|
)
|
||||||
|
|
||||||
type HttpServer struct {
|
type HttpServer struct {
|
||||||
@@ -54,6 +57,7 @@ func (slf *HttpServer) startListen() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
service.GetLogger().Printf(sysmodule.LEVER_FATAL, "http.ListenAndServe(%d, nil) error:%v\n", listenPort, err)
|
||||||
fmt.Printf("http.ListenAndServe(%d, %v) error\n", slf.port, err)
|
fmt.Printf("http.ListenAndServe(%d, %v) error\n", slf.port, err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,9 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/duanhf2012/origin/service"
|
||||||
|
"github.com/duanhf2012/origin/sysmodule"
|
||||||
|
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
"github.com/gotoxu/cors"
|
"github.com/gotoxu/cors"
|
||||||
@@ -15,6 +18,7 @@ import (
|
|||||||
type IWebsocketServer interface {
|
type IWebsocketServer interface {
|
||||||
SendMsg(clientid uint64, messageType int, msg []byte) bool
|
SendMsg(clientid uint64, messageType int, msg []byte) bool
|
||||||
CreateClient(conn *websocket.Conn) *WSClient
|
CreateClient(conn *websocket.Conn) *WSClient
|
||||||
|
Disconnect(clientid uint64)
|
||||||
ReleaseClient(pclient *WSClient)
|
ReleaseClient(pclient *WSClient)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -116,6 +120,7 @@ func (slf *WebsocketServer) startListen() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
service.GetLogger().Printf(sysmodule.LEVER_FATAL, "http.ListenAndServe(%d, nil) error:%v\n", slf.port, err)
|
||||||
fmt.Printf("http.ListenAndServe(%d, nil) error\n", slf.port)
|
fmt.Printf("http.ListenAndServe(%d, nil) error\n", slf.port)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
@@ -145,6 +150,18 @@ func (slf *WebsocketServer) SendMsg(clientid uint64, messageType int, msg []byte
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (slf *WebsocketServer) Disconnect(clientid uint64) {
|
||||||
|
slf.locker.Lock()
|
||||||
|
defer slf.locker.Unlock()
|
||||||
|
value, ok := slf.mapClient[clientid]
|
||||||
|
if ok == false {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
value.conn.Close()
|
||||||
|
//slf.ReleaseClient(value)
|
||||||
|
}
|
||||||
|
|
||||||
func (slf *WebsocketServer) Stop() {
|
func (slf *WebsocketServer) Stop() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user