C# Class VncSharpWpf.RfbProtocol

Contains methods and properties to handle all aspects of the RFB Protocol versions 3.3 - 3.8.
Afficher le fichier Open project: nakano531/VncSharpWpf Class Usage Examples

Méthodes publiques

Свойство Type Description
FailedToListen EventHandler

Protected Properties

Свойство Type Description
reader System.IO.BinaryReader
stream NetworkStream
tcpClient System.Net.Sockets.TcpClient
tcpListener System.Net.Sockets.TcpListener
verMajor int
verMinor int
writer System.IO.BinaryWriter
zrleReader ZRLECompressedReader

Méthodes publiques

Méthode Description
Close ( ) : void

Closes the connection to the remote host.

Connect ( string host, int port ) : void

Attempt to connectFromClient to a remote VNC Host.

Listen ( string host, int port ) : void

Start to Listen.

ReadByte ( ) : byte

Reads a single Byte value from the server.

ReadBytes ( int count ) : byte[]

Reads the specified number of bytes from the server, taking care of Big- to Little-Endian conversion.

ReadColourMapEntry ( ) : void

Reads 8-bit RGB colour values (or updated values) into the colour map. See RFB Doc v. 3.8 section 6.5.2.

ReadFramebufferUpdate ( ) : int

Reads the number of update rectangles being sent by the server. See RFB Doc v. 3.8 section 6.4.1.

ReadFramebufferUpdateRectHeader ( Rectangle &rectangle, int &encoding ) : void

Reads a rectangle's header information, including its encoding. See RFB Doc v. 3.8 section 6.4.1.

ReadProtocolVersion ( ) : void

Reads VNC Host Protocol Version message (see RFB Doc v. 3.8 section 6.1.1)

ReadSecurityChallenge ( ) : byte[]

When the server uses Security Type 2 (i.e., VNC Authentication), a Challenge/Response mechanism is used to authenticate the user. See RFB Doc v. 3.8 section 6.1.2 and 6.2.2.

ReadSecurityFailureReason ( ) : string

If the server has rejected the connection during Authentication, a reason is given. See RFB Doc v. 3.8 section 6.1.2.

ReadSecurityResult ( ) : uint

When the server uses VNC Authentication, after the Challege/Response, the server sends a status code to indicate whether authentication worked. See RFB Doc v. 3.8 section 6.1.3.

ReadSecurityTypes ( ) : byte[]

Determine the type(s) of authentication that the server supports. See RFB Doc v. 3.8 section 6.1.2.

ReadServerCutText ( ) : string

Reads the text from the Cut Buffer on the server. See RFB Doc v. 3.8 section 6.4.4.

ReadServerInit ( ) : Framebuffer

Reads the server's Initialization message, specifically the remote Framebuffer's properties. See RFB Doc v. 3.8 section 6.1.5.

ReadServerMessageType ( ) : int

Reads the type of message being sent by the server--all messages are prefixed with a message type.

ReadUInt16 ( ) : ushort

Reads a single UInt16 value from the server, taking care of Big- to Little-Endian conversion.

ReadUint32 ( ) : uint

Reads a single UInt32 value from the server, taking care of Big- to Little-Endian conversion.

RfbProtocol ( ) : System
StopListen ( ) : void

Stop Listening.

WriteByte ( byte value ) : void

Writes a single Byte value to the server.

WriteClientCutText ( string text ) : void

Sends text in the client's Cut Buffer to the server. See RFB Doc v. 3.8 section 6.3.7.

WriteClientInitialisation ( bool shared ) : void

Sends an Initialisation message to the server. See RFB Doc v. 3.8 section 6.1.4.

WriteFramebufferUpdateRequest ( ushort x, ushort y, ushort width, ushort height, bool incremental ) : void

Sends a request for an update of the area specified by (x, y, w, h). See RFB Doc v. 3.8 section 6.3.4.

WriteKeyEvent ( uint keysym, bool pressed ) : void

Sends a key press or release to the server. See RFB Doc v. 3.8 section 6.3.5.

WritePointerEvent ( byte buttonMask, Point point ) : void

Sends a mouse movement or button press/release to the server. See RFB Doc v. 3.8 section 6.3.6.

WriteProtocolVersion ( ) : void

Send the Protocol Version supported by the client. Will be highest supported by server (see RFB Doc v. 3.8 section 6.1.1).

WriteSecurityResponse ( byte response ) : void

Sends the encrypted Response back to the server. See RFB Doc v. 3.8 section 6.1.2.

WriteSecurityType ( byte type ) : void

Indicate to the server which type of authentication will be used. See RFB Doc v. 3.8 section 6.1.2.

WriteSetEncodings ( uint encodings ) : void

Tell the server which encodings are supported by the client. See RFB Doc v. 3.8 section 6.3.3.

WriteSetPixelFormat ( Framebuffer buffer ) : void

Sends the format to be used by the server when sending Framebuffer Updates. See RFB Doc v. 3.8 section 6.3.1.

WriteUInt16 ( ushort value ) : void

Writes a single UInt16 value to the server, taking care of Little- to Big-Endian conversion.

WriteUint32 ( uint value ) : void

Writes a single UInt32 value to the server, taking care of Little- to Big-Endian conversion.

Méthodes protégées

Méthode Description
GetBytes ( string text ) : byte[]

Converts a string to bytes for transfer to the server.

GetString ( byte bytes ) : string

Converts a series of bytes to a string.

ReadPadding ( int length ) : void

Reads the specified number of bytes of padding (i.e., garbage bytes) from the server.

WritePadding ( int length ) : void

Writes the specified number of bytes of padding (i.e., garbage bytes) to the server.

Private Methods

Méthode Description
ListenCore ( ) : void

Function for Listening Thread.

SetStreams ( ) : void

Set Streams to valiables.

Method Details

Close() public méthode

Closes the connection to the remote host.
public Close ( ) : void
Résultat void

Connect() public méthode

Attempt to connectFromClient to a remote VNC Host.
public Connect ( string host, int port ) : void
host string The IP Address or Host Name of the VNC Host.
port int The Port number on which to connectFromClient. Usually this will be 5900, except in the case that the VNC Host is running on a different Display, in which case the Display number should be added to 5900 to determine the correct port.
Résultat void

GetBytes() protected static méthode

Converts a string to bytes for transfer to the server.
protected static GetBytes ( string text ) : byte[]
text string The text to be converted to bytes.
Résultat byte[]

GetString() protected static méthode

Converts a series of bytes to a string.
protected static GetString ( byte bytes ) : string
bytes byte The Array of Bytes to be converted to a string.
Résultat string

Listen() public méthode

Start to Listen.
public Listen ( string host, int port ) : void
host string
port int
Résultat void

ReadByte() public méthode

Reads a single Byte value from the server.
public ReadByte ( ) : byte
Résultat byte

ReadBytes() public méthode

Reads the specified number of bytes from the server, taking care of Big- to Little-Endian conversion.
public ReadBytes ( int count ) : byte[]
count int The number of bytes to be read.
Résultat byte[]

ReadColourMapEntry() public méthode

Reads 8-bit RGB colour values (or updated values) into the colour map. See RFB Doc v. 3.8 section 6.5.2.
public ReadColourMapEntry ( ) : void
Résultat void

ReadFramebufferUpdate() public méthode

Reads the number of update rectangles being sent by the server. See RFB Doc v. 3.8 section 6.4.1.
public ReadFramebufferUpdate ( ) : int
Résultat int

ReadFramebufferUpdateRectHeader() public méthode

Reads a rectangle's header information, including its encoding. See RFB Doc v. 3.8 section 6.4.1.
public ReadFramebufferUpdateRectHeader ( Rectangle &rectangle, int &encoding ) : void
rectangle System.Drawing.Rectangle The geometry of the rectangle that is about to be sent.
encoding int The encoding used for this rectangle.
Résultat void

ReadPadding() protected méthode

Reads the specified number of bytes of padding (i.e., garbage bytes) from the server.
protected ReadPadding ( int length ) : void
length int The number of bytes of padding to read.
Résultat void

ReadProtocolVersion() public méthode

Reads VNC Host Protocol Version message (see RFB Doc v. 3.8 section 6.1.1)
Thrown if the version of the host is not known or supported.
public ReadProtocolVersion ( ) : void
Résultat void

ReadSecurityChallenge() public méthode

When the server uses Security Type 2 (i.e., VNC Authentication), a Challenge/Response mechanism is used to authenticate the user. See RFB Doc v. 3.8 section 6.1.2 and 6.2.2.
public ReadSecurityChallenge ( ) : byte[]
Résultat byte[]

ReadSecurityFailureReason() public méthode

If the server has rejected the connection during Authentication, a reason is given. See RFB Doc v. 3.8 section 6.1.2.
public ReadSecurityFailureReason ( ) : string
Résultat string

ReadSecurityResult() public méthode

When the server uses VNC Authentication, after the Challege/Response, the server sends a status code to indicate whether authentication worked. See RFB Doc v. 3.8 section 6.1.3.
public ReadSecurityResult ( ) : uint
Résultat uint

ReadSecurityTypes() public méthode

Determine the type(s) of authentication that the server supports. See RFB Doc v. 3.8 section 6.1.2.
public ReadSecurityTypes ( ) : byte[]
Résultat byte[]

ReadServerCutText() public méthode

Reads the text from the Cut Buffer on the server. See RFB Doc v. 3.8 section 6.4.4.
public ReadServerCutText ( ) : string
Résultat string

ReadServerInit() public méthode

Reads the server's Initialization message, specifically the remote Framebuffer's properties. See RFB Doc v. 3.8 section 6.1.5.
public ReadServerInit ( ) : Framebuffer
Résultat Framebuffer

ReadServerMessageType() public méthode

Reads the type of message being sent by the server--all messages are prefixed with a message type.
public ReadServerMessageType ( ) : int
Résultat int

ReadUInt16() public méthode

Reads a single UInt16 value from the server, taking care of Big- to Little-Endian conversion.
public ReadUInt16 ( ) : ushort
Résultat ushort

ReadUint32() public méthode

Reads a single UInt32 value from the server, taking care of Big- to Little-Endian conversion.
public ReadUint32 ( ) : uint
Résultat uint

RfbProtocol() public méthode

public RfbProtocol ( ) : System
Résultat System

StopListen() public méthode

Stop Listening.
public StopListen ( ) : void
Résultat void

WriteByte() public méthode

Writes a single Byte value to the server.
public WriteByte ( byte value ) : void
value byte The UInt32 value to be written.
Résultat void

WriteClientCutText() public méthode

Sends text in the client's Cut Buffer to the server. See RFB Doc v. 3.8 section 6.3.7.
public WriteClientCutText ( string text ) : void
text string The text to be sent to the server.
Résultat void

WriteClientInitialisation() public méthode

Sends an Initialisation message to the server. See RFB Doc v. 3.8 section 6.1.4.
public WriteClientInitialisation ( bool shared ) : void
shared bool True if the server should allow other clients to connectFromClient, otherwise False.
Résultat void

WriteFramebufferUpdateRequest() public méthode

Sends a request for an update of the area specified by (x, y, w, h). See RFB Doc v. 3.8 section 6.3.4.
public WriteFramebufferUpdateRequest ( ushort x, ushort y, ushort width, ushort height, bool incremental ) : void
x ushort The x-position of the area to be updated.
y ushort The y-position of the area to be updated.
width ushort The width of the area to be updated.
height ushort The height of the area to be updated.
incremental bool Indicates whether only changes to the client's data should be sent or the entire desktop.
Résultat void

WriteKeyEvent() public méthode

Sends a key press or release to the server. See RFB Doc v. 3.8 section 6.3.5.
public WriteKeyEvent ( uint keysym, bool pressed ) : void
keysym uint The value of the key pressed, expressed using X Window "keysym" values.
pressed bool
Résultat void

WritePadding() protected méthode

Writes the specified number of bytes of padding (i.e., garbage bytes) to the server.
protected WritePadding ( int length ) : void
length int The number of bytes of padding to write.
Résultat void

WritePointerEvent() public méthode

Sends a mouse movement or button press/release to the server. See RFB Doc v. 3.8 section 6.3.6.
public WritePointerEvent ( byte buttonMask, Point point ) : void
buttonMask byte A bitmask indicating which button(s) are pressed.
point Point The location of the mouse cursor.
Résultat void

WriteProtocolVersion() public méthode

Send the Protocol Version supported by the client. Will be highest supported by server (see RFB Doc v. 3.8 section 6.1.1).
public WriteProtocolVersion ( ) : void
Résultat void

WriteSecurityResponse() public méthode

Sends the encrypted Response back to the server. See RFB Doc v. 3.8 section 6.1.2.
public WriteSecurityResponse ( byte response ) : void
response byte The DES password encrypted challege sent by the server.
Résultat void

WriteSecurityType() public méthode

Indicate to the server which type of authentication will be used. See RFB Doc v. 3.8 section 6.1.2.
public WriteSecurityType ( byte type ) : void
type byte The type of Authentication to be used, 1 (None) or 2 (VNC Authentication).
Résultat void

WriteSetEncodings() public méthode

Tell the server which encodings are supported by the client. See RFB Doc v. 3.8 section 6.3.3.
public WriteSetEncodings ( uint encodings ) : void
encodings uint An array of integers indicating the encoding types supported. The order indicates preference, where the first item is the first preferred.
Résultat void

WriteSetPixelFormat() public méthode

Sends the format to be used by the server when sending Framebuffer Updates. See RFB Doc v. 3.8 section 6.3.1.
public WriteSetPixelFormat ( Framebuffer buffer ) : void
buffer Framebuffer A Framebuffer telling the server how to encode pixel data. Typically this will be the same one sent by the server during initialization.
Résultat void

WriteUInt16() public méthode

Writes a single UInt16 value to the server, taking care of Little- to Big-Endian conversion.
public WriteUInt16 ( ushort value ) : void
value ushort The UInt16 value to be written.
Résultat void

WriteUint32() public méthode

Writes a single UInt32 value to the server, taking care of Little- to Big-Endian conversion.
public WriteUint32 ( uint value ) : void
value uint The UInt32 value to be written.
Résultat void

Property Details

FailedToListen public_oe property

Raised when Failed To Listen.
public EventHandler FailedToListen
Résultat EventHandler

reader protected_oe property

protected BinaryReader,System.IO reader
Résultat System.IO.BinaryReader

stream protected_oe property

protected NetworkStream stream
Résultat NetworkStream

tcpClient protected_oe property

protected TcpClient,System.Net.Sockets tcpClient
Résultat System.Net.Sockets.TcpClient

tcpListener protected_oe property

protected TcpListener,System.Net.Sockets tcpListener
Résultat System.Net.Sockets.TcpListener

verMajor protected_oe property

protected int verMajor
Résultat int

verMinor protected_oe property

protected int verMinor
Résultat int

writer protected_oe property

protected BinaryWriter,System.IO writer
Résultat System.IO.BinaryWriter

zrleReader protected_oe property

protected ZRLECompressedReader zrleReader
Résultat ZRLECompressedReader