Categorygithub.com/kward/go-vnc
modulepackage
0.0.0-20171220234551-a2352a89d118
Repository: https://github.com/kward/go-vnc.git
Documentation: pkg.go.dev

# README

VNC Library for Go

go-vnc is a VNC client library for Go.

This library implements RFC 6143 -- The Remote Framebuffer Protocol -- the protocol used by VNC.

Project links

  • Build Status: Build Status
  • Documentation: GoDoc

Setup

  1. Download software and supporting packages.

    $ go get github.com/kward/go-vnc
    $ go get golang.org/x/net
    

Usage

Sample code usage is available in the GoDoc.

The source code is laid out such that the files match the document sections:

  • [7.1] handshake.go
  • [7.2] security.go
  • [7.3] initialization.go
  • [7.4] pixel_format.go
  • [7.5] client.go
  • [7.6] server.go
  • [7.7] encodings.go

There are two additional files that provide everything else:

  • vncclient.go -- code for instantiating a VNC client
  • common.go -- common stuff not related to the RFB protocol

# Packages

Package buttons describes the supported button masks.
Package encodings provides constants for the known VNC encoding types.
No description provided by the author
Package keys provides constants for all the keyboard inputs.
Package logging provides common logging functionality.
Package messages provides constants for the client and server messages.
Package rfbflags provides constants for the RFB flag values.

# Functions

Connect negotiates a connection to a VNC server.
No description provided by the author
No description provided by the author
NewClientConfig returns a populated ClientConfig.
No description provided by the author
NewColor returns a new Color object.
NewPixelFormat returns a populated PixelFormat structure.
NewRectangle returns a new Rectangle object.
NewVNCError returns a custom VNCError error.
SetSettle changes the UI settle duration.
Settle returns the UI settle duration.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
Client ProtocolVersions.
No description provided by the author

# Variables

No description provided by the author
No description provided by the author
No description provided by the author

# Structs

Bell represents the wire format message, sans message-type.
No description provided by the author
ClientAuthNone is the "none" authentication.
ClientAuthVNC is the standard password authentication.
A ClientConfig structure is used to configure a ClientConn.
The ClientConn type holds client connection information.
ClientCutTextMessage holds the wire format message, sans the text field.
Color represents a single color in a color map.
DesktopSizePseudoEncoding represents a desktop size message from the server.
FramebufferUpdate holds a FramebufferUpdate wire format message.
FramebufferUpdateRequestMessage holds the wire format message.
KeyEventMessage holds the wire format message.
PixelFormat describes the way a pixel is formatted for a VNC connection.
PointerEventMessage holds the wire format message.
RawEncoding holds raw encoded rectangle data.
Rectangle represents a rectangle of pixel data.
ServerCutText represents the wire format message, sans message-type and padding.
ServerInit message sent after server receives a ClientInit message.
SetColorMapEntries holds a SetColorMapEntries wire format message, sans message-type and padding.
SetEncodingsMessage holds the wire format message, sans encoding-type field.
SetPixelFormatMessage holds the wire format message.
VNCError implements error interface.

# Interfaces

ClientAuth implements a method of authenticating with a remote server.
An Encoding implements a method for encoding pixel data that is sent by the server to the client.
Marshaler is the interface satisfied for marshaling messages.
MarshalerUnmarshaler satisfies both the Marshaler and Unmarshaler interfaces.
ServerMessage is the interface satisfied by server messages.
Unarshaler is the interface satisfied for unmarshaling messages.

# Type aliases

ColorMap represents a translation map of colors.
EncodableFunc describes the function for encoding a Rectangle.
Encodings describes a slice of Encoding.