本文整理汇总了Golang中github.com/henrylee2cn/websocket/google.Conn类的典型用法代码示例。如果您正苦于以下问题:Golang Conn类的具体用法?Golang Conn怎么用?Golang Conn使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Conn类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: wsLogHandle
// log发送api
func wsLogHandle(conn *ws.Conn) {
var err error
defer func() {
reporter.Printf("websocket log发送出错断开 (%v) !", err)
}()
Log.logChan = make(chan string, 1024)
go func(conn *ws.Conn) {
defer func() {
close(Log.logChan)
conn.Close()
}()
for {
if err := ws.JSON.Receive(conn, nil); err != nil {
reporter.Printf("websocket log接收出错断开 (%v) !", err)
return
}
}
}(conn)
for msg := range Log.logChan {
if _, err = ws.Message.Send(conn, msg); err != nil {
return
}
}
}
开发者ID:sinuos,项目名称:pholcus,代码行数:28,代码来源:websocketController.go
示例2: wsHandle
func wsHandle(conn *ws.Conn) {
sess, _ := globalSessions.SessionStart(nil, conn.Request())
sessID := sess.SessionID()
if Sc.connPool[sessID] == nil {
Sc.Add(sessID, conn)
}
defer Sc.Remove(sessID, conn)
go func() {
var err error
for info := range Sc.wchanPool[sessID].wchan {
if _, err = ws.JSON.Send(conn, info); err != nil {
return
}
}
}()
for {
var req map[string]interface{}
if err := ws.JSON.Receive(conn, &req); err != nil {
// logs.Log.Debug("websocket接收出错断开 (%v) !", err)
return
}
// log.Log.Debug("Received from web: %v", req)
wsApi[util.Atoa(req["operate"])](sessID, req)
}
}
开发者ID:jununfly,项目名称:pholcus,代码行数:30,代码来源:websocketController.go
示例3: wsHandle
func wsHandle(conn *ws.Conn) {
defer func() {
close(wchan)
conn.Close()
}()
wchan = make(chan interface{}, 1024)
go func(conn *ws.Conn) {
var err error
defer func() {
reporter.Printf("websocket发送出错断开 (%v) !", err)
}()
for info := range wchan {
if _, err = ws.JSON.Send(conn, info); err != nil {
return
}
}
}(conn)
for {
var req map[string]interface{}
if err := ws.JSON.Receive(conn, &req); err != nil {
reporter.Printf("websocket接收出错断开 (%v) !", err)
return
}
reporter.Printf("Received from web: %v", req)
wsApi[util.Atoa(req["operate"])](conn, req)
}
}
开发者ID:sinuos,项目名称:pholcus,代码行数:31,代码来源:websocketController.go
示例4: wsLogHandle
// log发送api
func wsLogHandle(conn *ws.Conn) {
var err error
defer func() {
// reporter.Printf("websocket log发送出错断开 (%v) !", err)
}()
// 新建web前端log输出
Log.Open()
go func(conn *ws.Conn) {
defer func() {
// 关闭web前端log输出
Log.Close()
// 关闭websocket连接
conn.Close()
}()
for {
if err := ws.JSON.Receive(conn, nil); err != nil {
// reporter.Printf("websocket log接收出错断开 (%v) !", err)
return
}
}
}(conn)
for msg := range Log.logChan {
if _, err = ws.Message.Send(conn, msg); err != nil {
return
}
}
}
开发者ID:hcxiong,项目名称:pholcus,代码行数:31,代码来源:websocketController.go
示例5: wsLogHandle
// log发送api
func wsLogHandle(conn *ws.Conn) {
var err error
sess, _ := globalSessions.SessionStart(nil, conn.Request())
sessID := sess.SessionID()
if Lsc.connPool[sessID] == nil {
Lsc.Add(sessID, conn)
}
go func() {
defer func() {
// 关闭web前端log输出并断开websocket连接
Lsc.Remove(sessID, conn)
}()
for {
if err := ws.JSON.Receive(conn, nil); err != nil {
// logs.Log.Debug("websocket log接收出错断开 (%v) !", err)
return
}
}
}()
for msg := range Lsc.lvPool[sessID].logChan {
if _, err = ws.Message.Send(conn, msg); err != nil {
return
}
}
}
开发者ID:JanChou,项目名称:pholcus,代码行数:27,代码来源:logsocketController.go
示例6: wsHandle
func wsHandle(conn *ws.Conn) {
wchanClosed = false
defer func() {
// 连接断开前关闭正在运行的任务
// if isRunning {
// isRunning = false
// logicApp.LogRest().Stop()
// }
wchanClosed = true
close(wchan)
conn.Close()
}()
wchan = make(chan interface{}, 1024)
go func(conn *ws.Conn) {
var err error
for info := range wchan {
if _, err = ws.JSON.Send(conn, info); err != nil {
return
}
}
}(conn)
for {
var req map[string]interface{}
if err := ws.JSON.Receive(conn, &req); err != nil {
// logs.Log.Debug("websocket接收出错断开 (%v) !", err)
return
}
// log.Log.Debug("Received from web: %v", req)
wsApi[util.Atoa(req["operate"])](conn, req)
}
}
开发者ID:LonelyPale,项目名称:pholcus,代码行数:35,代码来源:websocketController.go
示例7: Remove
func (self *LogSocketController) Remove(sessID string, conn *ws.Conn) {
if self.connPool[sessID] == nil {
return
}
lv := self.lvPool[sessID]
lv.closed = true
close(lv.logChan)
conn.Close()
delete(self.connPool, sessID)
delete(self.lvPool, sessID)
}
开发者ID:JanChou,项目名称:pholcus,代码行数:11,代码来源:logsocketController.go
示例8: Remove
func (self *SocketController) Remove(sessID string, conn *ws.Conn) {
self.rwMutex.Lock()
defer self.rwMutex.Unlock()
if self.connPool[sessID] == nil {
return
}
wc := self.wchanPool[sessID]
close(wc.wchan)
conn.Close()
delete(self.connPool, sessID)
delete(self.wchanPool, sessID)
}
开发者ID:jununfly,项目名称:pholcus,代码行数:13,代码来源:websocketController.go
注:本文中的github.com/henrylee2cn/websocket/google.Conn类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论