messages

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: May 8, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultClientMessage 默认client支持的消息
	DefaultClientMessage = []rfb.Message{
		&SetPixelFormat{},
		&SetEncodings{},
		&FramebufferUpdateRequest{},
		&KeyEvent{},
		&PointerEvent{},
		&ClientCutText{},
		&ClientFence{},
		&SetDesktopSize{},
		&EnableContinuousUpdates{},
	}
	// DefaultServerMessages 默认server支持的消息
	DefaultServerMessages = []rfb.Message{
		&FramebufferUpdate{},
		&SetColorMapEntries{},
		&Bell{},
		&ServerCutText{},
		&EndOfContinuousUpdates{},
		&ServerFence{},
	}
)

Functions

This section is empty.

Types

type Bell

type Bell struct{}

Bell 响铃

func (*Bell) Clone

func (that *Bell) Clone() rfb.Message

func (*Bell) Read

func (that *Bell) Read(session rfb.ISession) (rfb.Message, error)

Read 响铃消息只有消息类型,没有数据

func (*Bell) String

func (that *Bell) String() string

String return string

func (*Bell) Supported

func (that *Bell) Supported(session rfb.ISession) bool

func (*Bell) Type

func (that *Bell) Type() rfb.MessageType

Type 消息类型

func (*Bell) Write

func (that *Bell) Write(session rfb.ISession) error

Write 写入响应消息类型

type ClientCutText

type ClientCutText struct {
	Length uint32 // 剪切板内容长度
	Text   []byte // 剪切板
	// contains filtered or unexported fields
}

ClientCutText 客户端发送剪切板内容到服务端

func (*ClientCutText) Clone

func (that *ClientCutText) Clone() rfb.Message

func (*ClientCutText) Read

func (that *ClientCutText) Read(session rfb.ISession) (rfb.Message, error)

Read 从会话中解析消息内容

func (*ClientCutText) String

func (that *ClientCutText) String() string

String

func (*ClientCutText) Supported

func (that *ClientCutText) Supported(rfb.ISession) bool

func (*ClientCutText) Type

func (that *ClientCutText) Type() rfb.MessageType

Type returns MessageType

func (*ClientCutText) Write

func (that *ClientCutText) Write(session rfb.ISession) error

Write 把消息按协议格式写入会话

type ClientFence

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

ClientFence 支持 Fence扩展的客户端发送此扩展以请求数据流的同步。

func (*ClientFence) Clone

func (that *ClientFence) Clone() rfb.Message

func (*ClientFence) Read

func (that *ClientFence) Read(session rfb.ISession) (rfb.Message, error)

读取数据

func (*ClientFence) String

func (that *ClientFence) String() string

func (*ClientFence) Supported

func (that *ClientFence) Supported(session rfb.ISession) bool

func (*ClientFence) Type

func (that *ClientFence) Type() rfb.MessageType

func (*ClientFence) Write

func (that *ClientFence) Write(session rfb.ISession) error

type EnableContinuousUpdates

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

EnableContinuousUpdates 客户端发送连续更新消息

func (*EnableContinuousUpdates) Clone

func (that *EnableContinuousUpdates) Clone() rfb.Message

func (*EnableContinuousUpdates) Read

func (that *EnableContinuousUpdates) Read(session rfb.ISession) (rfb.Message, error)

读取数据

func (*EnableContinuousUpdates) String

func (that *EnableContinuousUpdates) String() string

func (*EnableContinuousUpdates) Supported

func (that *EnableContinuousUpdates) Supported(rfb.ISession) bool

func (*EnableContinuousUpdates) Type

func (*EnableContinuousUpdates) Write

func (that *EnableContinuousUpdates) Write(session rfb.ISession) error

type EndOfContinuousUpdates

type EndOfContinuousUpdates struct{}

EndOfContinuousUpdates Bell 结束连续更新

func (*EndOfContinuousUpdates) Clone

func (that *EndOfContinuousUpdates) Clone() rfb.Message

func (*EndOfContinuousUpdates) Read

func (that *EndOfContinuousUpdates) Read(session rfb.ISession) (rfb.Message, error)

Read 响铃消息只有消息类型,没有数据

func (*EndOfContinuousUpdates) String

func (that *EndOfContinuousUpdates) String() string

String return string

func (*EndOfContinuousUpdates) Supported

func (that *EndOfContinuousUpdates) Supported(session rfb.ISession) bool

func (*EndOfContinuousUpdates) Type

func (that *EndOfContinuousUpdates) Type() rfb.MessageType

Type 消息类型

func (*EndOfContinuousUpdates) Write

func (that *EndOfContinuousUpdates) Write(session rfb.ISession) error

Write 写入响应消息类型

type FramebufferUpdate

type FramebufferUpdate struct {
	NumRect uint16           // 多少个像素数据的矩形
	Rects   []*rfb.Rectangle // 像素数据的矩形列表
	// contains filtered or unexported fields
}

FramebufferUpdate 帧缓冲更新

func (*FramebufferUpdate) Clone

func (that *FramebufferUpdate) Clone() rfb.Message

func (*FramebufferUpdate) Read

func (that *FramebufferUpdate) Read(session rfb.ISession) (rfb.Message, error)

读取帧数据

func (*FramebufferUpdate) String

func (that *FramebufferUpdate) String() string

func (*FramebufferUpdate) Supported

func (that *FramebufferUpdate) Supported(rfb.ISession) bool

func (*FramebufferUpdate) Type

func (that *FramebufferUpdate) Type() rfb.MessageType

func (*FramebufferUpdate) Write

func (that *FramebufferUpdate) Write(session rfb.ISession) error

写入帧数据

type FramebufferUpdateRequest

type FramebufferUpdateRequest struct {
	Inc           uint8  // 是否是增量请求
	X, Y          uint16 // 区域的起始坐标
	Width, Height uint16 // 区域的宽度和高度
}

FramebufferUpdateRequest 请求帧缓存更新消息 incremental 通常为非 0 值,服务器只需要发有变化的图像信息。 当客户端丢失了缓存的帧缓冲信息,或者刚建立连接,需要完整的图像信息时, 将 incremental 置为 0,获取全量信息。

func (*FramebufferUpdateRequest) Clone

func (that *FramebufferUpdateRequest) Clone() rfb.Message

func (*FramebufferUpdateRequest) Read

func (that *FramebufferUpdateRequest) Read(session rfb.ISession) (rfb.Message, error)

Read 从会话中解析消息内容

func (*FramebufferUpdateRequest) String

func (that *FramebufferUpdateRequest) String() string

String returns string

func (*FramebufferUpdateRequest) Supported

func (that *FramebufferUpdateRequest) Supported(session rfb.ISession) bool

func (*FramebufferUpdateRequest) Type

Type returns MessageType

func (*FramebufferUpdateRequest) Write

func (that *FramebufferUpdateRequest) Write(session rfb.ISession) error

Write 把消息按协议格式写入会话

type KeyEvent

type KeyEvent struct {
	Down uint8 // 1 表示键位按下,0 表示弹起

	Key rfb.Key // 表示具体的键位,https://www.x.org/releases/X11R7.6/doc/xproto/x11protocol.html#keysym_encoding
	// contains filtered or unexported fields
}

KeyEvent 键盘按键事件

func (*KeyEvent) Clone

func (that *KeyEvent) Clone() rfb.Message

func (*KeyEvent) Read

func (that *KeyEvent) Read(session rfb.ISession) (rfb.Message, error)

Read 从会话中解析消息内容

func (*KeyEvent) String

func (that *KeyEvent) String() string

String returns string

func (*KeyEvent) Supported

func (that *KeyEvent) Supported(session rfb.ISession) bool

func (*KeyEvent) Type

func (that *KeyEvent) Type() rfb.MessageType

Type returns MessageType

func (*KeyEvent) Write

func (that *KeyEvent) Write(session rfb.ISession) error

Write 把消息按协议格式写入会话

type PointerEvent

type PointerEvent struct {
	Mask uint8  //8 位掩码,表示键位状态,1为按下,0为弹起
	X, Y uint16 // 当前 X,Y 坐标
}

PointerEvent 鼠标事件

func (*PointerEvent) Clone

func (that *PointerEvent) Clone() rfb.Message

func (*PointerEvent) Read

func (that *PointerEvent) Read(session rfb.ISession) (rfb.Message, error)

Read 从会话中解析消息内容

func (*PointerEvent) String

func (that *PointerEvent) String() string

String returns string

func (*PointerEvent) Supported

func (that *PointerEvent) Supported(session rfb.ISession) bool

func (*PointerEvent) Type

func (that *PointerEvent) Type() rfb.MessageType

Type returns MessageType

func (*PointerEvent) Write

func (that *PointerEvent) Write(session rfb.ISession) error

Write 把消息按协议格式写入会话

type QEMUExtKeyEvent

type QEMUExtKeyEvent struct {
	SubMessageType uint8   // submessage type
	DownFlag       uint16  // down-flag
	KeySym         rfb.Key // key symbol
	KeyCode        uint32  // scan code
}

func (*QEMUExtKeyEvent) Clone

func (that *QEMUExtKeyEvent) Clone() rfb.Message

func (*QEMUExtKeyEvent) Read

func (that *QEMUExtKeyEvent) Read(session rfb.ISession) (rfb.Message, error)

func (*QEMUExtKeyEvent) String

func (that *QEMUExtKeyEvent) String() string

func (*QEMUExtKeyEvent) Supported

func (that *QEMUExtKeyEvent) Supported(session rfb.ISession) bool

func (*QEMUExtKeyEvent) Type

func (that *QEMUExtKeyEvent) Type() rfb.MessageType

func (*QEMUExtKeyEvent) Write

func (that *QEMUExtKeyEvent) Write(session rfb.ISession) error

type ServerCutText

type ServerCutText struct {
	Length uint32 // 剪切板内容长度
	Text   []byte // 剪切板内容
	// contains filtered or unexported fields
}

ServerCutText 服务端剪切板发送到客户端

func (*ServerCutText) Clone

func (that *ServerCutText) Clone() rfb.Message

func (*ServerCutText) Read

func (that *ServerCutText) Read(session rfb.ISession) (rfb.Message, error)

读取消息数据

func (*ServerCutText) String

func (that *ServerCutText) String() string

String returns string

func (*ServerCutText) Supported

func (that *ServerCutText) Supported(session rfb.ISession) bool

func (*ServerCutText) Type

func (that *ServerCutText) Type() rfb.MessageType

func (*ServerCutText) Write

func (that *ServerCutText) Write(session rfb.ISession) error

type ServerFence

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

ServerFence 支持 Fence扩展的服务器发送此扩展以请求数据流的同步。

func (*ServerFence) Clone

func (that *ServerFence) Clone() rfb.Message

func (*ServerFence) Read

func (that *ServerFence) Read(session rfb.ISession) (rfb.Message, error)

读取数据

func (*ServerFence) String

func (that *ServerFence) String() string

func (*ServerFence) Supported

func (that *ServerFence) Supported(session rfb.ISession) bool

func (*ServerFence) Type

func (that *ServerFence) Type() rfb.MessageType

func (*ServerFence) Write

func (that *ServerFence) Write(session rfb.ISession) error

type ServerInit

type ServerInit struct {
	FBWidth     uint16
	FBHeight    uint16
	PixelFormat rfb.PixelFormat
	NameLength  uint32
	NameText    []byte
}

ServerInit 握手的时候服务端初始化消息

func (ServerInit) String

func (srvInit ServerInit) String() string

type SetColorMapEntries

type SetColorMapEntries struct {
	FirstColor uint16 // 颜色的起始位置,
	ColorsNum  uint16 // 颜色的数目
	Colors     []rfb.Color
	// contains filtered or unexported fields
}

SetColorMapEntries 设置颜色表的内容

See RFC 6143 Section 7.6.2

func (*SetColorMapEntries) Clone

func (that *SetColorMapEntries) Clone() rfb.Message

func (*SetColorMapEntries) Read

func (that *SetColorMapEntries) Read(session rfb.ISession) (rfb.Message, error)

func (*SetColorMapEntries) String

func (that *SetColorMapEntries) String() string

String returns string

func (*SetColorMapEntries) Supported

func (that *SetColorMapEntries) Supported(session rfb.ISession) bool

func (*SetColorMapEntries) Type

Type returns MessageType

func (*SetColorMapEntries) Write

func (that *SetColorMapEntries) Write(session rfb.ISession) error

type SetDesktopSize

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

SetDesktopSize 客户端发起设置桌面大小

func (*SetDesktopSize) Clone

func (that *SetDesktopSize) Clone() rfb.Message

func (*SetDesktopSize) Read

func (that *SetDesktopSize) Read(session rfb.ISession) (rfb.Message, error)

读取数据

func (*SetDesktopSize) String

func (that *SetDesktopSize) String() string

func (*SetDesktopSize) Supported

func (that *SetDesktopSize) Supported(rfb.ISession) bool

func (*SetDesktopSize) Type

func (that *SetDesktopSize) Type() rfb.MessageType

func (*SetDesktopSize) Write

func (that *SetDesktopSize) Write(session rfb.ISession) error

type SetEncodings

type SetEncodings struct {
	EncNum    uint16 // number-of-encodings
	Encodings []rfb.EncodingType
	// contains filtered or unexported fields
}

SetEncodings 设置编码类型消息

func (*SetEncodings) Clone

func (that *SetEncodings) Clone() rfb.Message

func (*SetEncodings) Read

func (that *SetEncodings) Read(session rfb.ISession) (rfb.Message, error)

Read 从会话中解析消息内容

func (*SetEncodings) String

func (that *SetEncodings) String() string

String return string

func (*SetEncodings) Supported

func (that *SetEncodings) Supported(_ rfb.ISession) bool

func (*SetEncodings) Type

func (that *SetEncodings) Type() rfb.MessageType

Type returns MessageType

func (*SetEncodings) Write

func (that *SetEncodings) Write(session rfb.ISession) error

Write 把消息按协议格式写入会话

type SetPixelFormat

type SetPixelFormat struct {
	PF rfb.PixelFormat // 像素格式
	// contains filtered or unexported fields
}

SetPixelFormat 设置像素格式

func (*SetPixelFormat) Clone

func (that *SetPixelFormat) Clone() rfb.Message

func (*SetPixelFormat) Read

func (that *SetPixelFormat) Read(session rfb.ISession) (rfb.Message, error)

Read 从链接中读取像素格式到当前对象

func (*SetPixelFormat) String

func (that *SetPixelFormat) String() string

String returns string

func (*SetPixelFormat) Supported

func (that *SetPixelFormat) Supported(session rfb.ISession) bool

func (*SetPixelFormat) Type

func (that *SetPixelFormat) Type() rfb.MessageType

Type returns MessageType

func (*SetPixelFormat) Write

func (that *SetPixelFormat) Write(session rfb.ISession) error

Write 写入像素格式

Jump to

Keyboard shortcuts

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