websocketstream

package module
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 19, 2024 License: MIT Imports: 4 Imported by: 0

README

WebSocketStream

WebSocketStream 是一个 Go 语言库,它提供了一个简单且一致的接口来处理 WebSocket 连接。它基于 gorilla/websocket 库,并提供了一些额外的功能,如连接升级和消息读写。

特性

  • WebSocket 连接升级Upgrader 结构体提供了 Upgrade 方法,可以将 HTTP 连接升级为 WebSocket 连接。
  • WebSocket 连接拨号Dialer 结构体提供了 Dial 方法,可以创建一个新的 WebSocket 连接。
  • 消息读写WebSocketStream 结构体提供了 ReadMessageWriteMessage 方法,可以方便地读取和发送 WebSocket 消息。
  • 流式读写WebSocketStream 结构体实现了 io.Readerio.Writer 接口,可以像处理普通的流一样处理 WebSocket 连接。

安装

你可以使用 go get 命令来安装 WebSocketStream:

go get github.com/1370339317/websocketstream

Documentation

Index

Constants

This section is empty.

Variables

Functions

func IsWebSocketUpgrade

func IsWebSocketUpgrade(r *http.Request) bool

Types

type Dialer

type Dialer struct {
	Dialer *websocket.Dialer
}

func (*Dialer) Dial

func (d *Dialer) Dial(urlStr string, requestHeader http.Header) (*WebSocketStream, *http.Response, error)

type Upgrader

type Upgrader struct {
	ReadBufferSize  int
	WriteBufferSize int
	CheckOrigin     func(r *http.Request) bool
	Error           func(w http.ResponseWriter, r *http.Request, status int, reason error)
}

func (*Upgrader) Upgrade

func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeader http.Header) (*WebSocketStream, error)

type WebSocketStream

type WebSocketStream struct {
	// contains filtered or unexported fields
}

func NewWebSocketStream

func NewWebSocketStream(conn *websocket.Conn) *WebSocketStream

func (*WebSocketStream) Close

func (w *WebSocketStream) Close() error

func (*WebSocketStream) Read

func (w *WebSocketStream) Read(p []byte) (n int, err error)

func (*WebSocketStream) ReadMessage

func (ws *WebSocketStream) ReadMessage() (messageType int, p []byte, err error)

func (*WebSocketStream) SetReadDeadline

func (w *WebSocketStream) SetReadDeadline(t time.Time) error

func (*WebSocketStream) SetWriteDeadline

func (w *WebSocketStream) SetWriteDeadline(t time.Time) error

func (*WebSocketStream) Write

func (w *WebSocketStream) Write(p []byte) (n int, err error)

func (*WebSocketStream) WriteMessage

func (ws *WebSocketStream) WriteMessage(messageType int, data []byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL