
package main
import (
"bytes"
"fmt"
"log"
"net/http"
"unsafe"
"golang.org/x/net/websocket"
)
func ByteToString(p *byte) string {
bufs := bytes.NewBufferString("")
for ps := p; *ps != byte(0); ps = (*byte)(unsafe.Pointer(1 + (uintptr)(unsafe.Pointer(ps)))) {
bufs.WriteByte(*ps)
}
return bufs.String()
}
func main() {
fmt.Println("websocket地址: ws://127.0.0.1:8080/runtime")
http.Handle("/runtime", websocket.Handler(echo))
if err := http.ListenAndServe(":8080", nil); err != nil {
log.Fatal(err)
}
}
//測驗地址: http://coolaf.com/tool/chattest 首字母大寫是公有的 Echo,首字母小寫是私有的 echo
func echo(w *websocket.Conn) {
var error error
for {
//只支持string型別
var reply string
if error = websocket.Message.Receive(w, &reply); error != nil {
log.Println("websocket出現例外", error)
break
}
fmt.Println("收到客戶端訊息:" + reply)
msg := reply + ", 我是服務端"
fmt.Println("發送客戶端訊息:" + msg)
if error = websocket.Message.Send(w, msg); error != nil {
log.Println("websocket出現例外", error)
break
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/257516.html
標籤:區塊鏈
