conn_ws.go 512 B

123456789101112131415161718192021222324252627282930313233
  1. package internal
  2. import (
  3. // "fmt"
  4. "github.com/gorilla/websocket"
  5. )
  6. type WsConn struct {
  7. *websocket.Conn
  8. }
  9. func NewWsConn(c *websocket.Conn) *WsConn {
  10. return &WsConn{c}
  11. }
  12. func (self *WsConn) Read(p []byte) (int, error) {
  13. _, r, err := self.NextReader()
  14. if nil != err {
  15. return 0, err
  16. }
  17. return r.Read(p)
  18. }
  19. func (self *WsConn) Write(p []byte) (int, error) {
  20. w, err := self.NextWriter(websocket.BinaryMessage)
  21. if nil != err {
  22. return 0, err
  23. }
  24. n, err := w.Write(p)
  25. _ = w.Close()
  26. return n, err
  27. }