Click or drag to resize

Message Class

A Message is used to exchange information with an OBCOM NetServer.
Inheritance Hierarchy
SystemObject
  OBCOM.NetClientMessage

Namespace:  OBCOM.NetClient
Assembly:  OBCOM.NetClient (in OBCOM.NetClient.dll) Version: 40.82.5945.17884 (40.82.5945.17884)
Syntax
[SerializableAttribute]
public sealed class Message : ICloneable

The Message type exposes the following members.

Constructors
  NameDescription
Public methodMessage
Creates a new Message instance.
Public methodMessage(String)
Creates a new Message with the supplied data.
Top
Properties
  NameDescription
Public propertyData
Gets or sets the string data of the Message.
Public propertyDataAll
Gets the complete string data of the Message.
Public propertyDataBytes
Gets or sets the binary data of the Message.
Public propertyStatic memberDefaultSignANSI
Gets or sets whether, by default, numeric fields are stored in Messages using the ANSI or the TANDEM format.
Public propertyFormCode
Gets or sets the form code of the Message.
Public propertyIsDataOnly
Gets or sets whether this is a data-only Message.
Public propertyLayout
Gets or sets the Layout of the Message.
Public propertyMaxLabelKey
Returns the maximum label key of all Message labels.
Public propertyMinLabelKey
Returns the minimum label key of all Message labels.
Public propertyMulticastName
Gets the multicast name of this Message.
Public propertyOperCode
Public propertyProtCode
Public propertyReplyCode
Public propertySequence
Gets or sets the sequence of the Message.
Public propertyServerCode
Gets or sets the server code of the Message.
Public propertySessionID
Gets or sets the session ID of the Message.
Public propertySignANSI
Gets or sets whether numeric fields are stored in the Message using the ANSI or the TANDEM format.
Public propertyStrict
Gets or sets wheter the Message is strict.
Public propertyTranCode
Gets or sets the transaction code of the Message.
Public propertyTypeCode
Top
Methods
  NameDescription
Public methodClone
Returns a "deep" copy of the Message.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Public methodExists
Returns true if the field identified by fieldName exists in the Layout of the Message.
Public methodGetChar(String)
Returns the first character of the value of the field identified by fieldName.
Public methodGetChar(String, Int32)
Returns the first character of the value of the field identified by fieldName and index.
Public methodGetData(String)
Returns the string data of the field identified by fieldName.
Public methodGetData(String, Int32)
Returns the string data of the field identified by fieldName and index.
Public methodGetDate(String)
Returns the date value of the field identified by fieldName.
Public methodGetDate(String, Int32)
Returns the date value of the field identified by fieldName and index.
Public methodGetDouble(String)
Returns the double value of the field identified by fieldName.
Public methodGetDouble(String, Int32)
Returns the double value of the field identified by fieldName and index.
Public methodGetField
Returns the field identified by specified fieldName.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetInteger(String)
Returns the integer value of the field identified by fieldName.
Public methodGetInteger(String, Int32)
Returns the integer value of the field identified by fieldName and index.
Public methodGetLabel
Gets the value of the label indexed by key.
Public methodGetNumber(String)
Returns the decimal value of the field identified by fieldName.
Public methodGetNumber(String, Int32)
Returns the decimal value of the field identified by fieldName and index.
Public methodGetOccurs
Returns the number of occurrences of the field identified by fieldName.
Public methodGetString(String)
Returns the string value of the field identified by fieldName.
Public methodGetString(String, Int32)
Returns the string value of the field identified by fieldName and index.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodHasLabel
Returns true if the label indexed by key exists.
Public methodInitFields
Sets the value of each field of the Message to its default value.
Public methodInitFields(Message)
Sets the value of each field of the Message to the value of its corresponding field in source.
Public methodIsNull(String)
Returns true if the value of the field identified by Name is NULL.
Public methodIsNull(Int32, Int32)
Returns true if the substring that begins at the specified start and extends to the character at index end-1 is null. A substring is NULL if it's first character is the NO-DATA (0x1a).
Public methodIsNull(String, Int32)
Returns true if the value of the field identified by fieldName and index is NULL.
Public methodRemoveLabel
Removes the label indexed by key from the Message.
Public methodRemoveLables
Removes all the labels defined in the Message.
Public methodReplace
Replaces the characters in a substring of the message data with characters in the specified string. The substring begins at the specified start and extends to the character at index end-1. If needed, the capacity of the data is extended so the entire substring can be stored. If the string is null the substring is filled with NO-DATA (0x1a). If the string is shorter than the substring, the rest is filled with spaces.
Public methodSerialize
Returns a byte array with the serialization of the Message.
Public methodSerialize(Boolean)
Returns a byte array with the serialization of the Message with optional type code.
Public methodSetChar(String, Char)
Changes the character value of the field identified by fieldName to the supplied value.
Public methodSetChar(String, Int32, Char)
Changes the character value of the field identified by fieldName and index to the supplied value.
Public methodSetData(String, String)
Changes the string data of the field identified by fieldName to the supplied value.
Public methodSetData(String, Int32, String)
Changes the string data of the field identified by fieldName and index to the supplied value.
Public methodSetDate(String, NullableDateTime)
Changes the date value of the field identified by fieldName to the supplied value.
Public methodSetDate(String, Int32, NullableDateTime)
Changes the date value of the field identified by fieldName and index to the supplied value.
Public methodSetDouble(String, Double)
Changes the double value of the field identified by fieldName to the supplied value.
Public methodSetDouble(String, Int32, Double)
Changes the double value of the field identified by fieldName and index to the supplied value.
Public methodSetInteger(String, Int32)
Changes the integer value of the field identified by fieldName to the supplied value.
Public methodSetInteger(String, Int32, Int32)
Changes the integer value of the field identified by fieldName and index to the supplied value.
Public methodSetLabel
Sets the value of the label indexed by key.
Public methodSetNull(String)
Changes the the value of the field identified by fieldName to NULL.
Public methodSetNull(String, Int32)
Changes the the value of the field identified by fieldName and index to NULL.
Public methodSetNumber(String, NullableDecimal)
Changes the decimal value of the field identified by fieldName to the supplied value.
Public methodSetNumber(String, Int32, NullableDecimal)
Changes the decimal value of the field identified by fieldName and index to the supplied value.
Public methodSetString(String, String)
Changes the string value of the field identified by fieldName to the supplied value.
Public methodSetString(String, Int32, String)
Changes the string value of the field identified by fieldName and index to the supplied value.
Public methodSubstring
Returns a new string that is a substring of this Message. The substring begins at the specified start and extends to the character at index end-1. Thus the length of the substring is end-start. If the first character of the substring is NO-DATA (0x1a) it returns null. The trailing space characters of the the substring are removed (right trimmed).
Public methodStatic memberToMessage
Returns a Message constructed using the supplied object value.
Public methodToString
Returns a string representation of the Message.
(Overrides ObjectToString.)
Public methodToTagString
Returns a string with the TAG representation of the data stored in this Message.
Public methodToXml
Returns the XML string representation of the Message.
Public methodStatic memberUnserialize(Byte, Int32, Int32)
Unserialized the supplied byte array into a new Message.
Public methodStatic memberUnserialize(Byte, Int32, Int32, Boolean)
Unserialized the supplied byte array into a new Message with optional type code.
Public methodVerifyLayout
Returns true if the name of the Layout of the Message equals to supplied layoutName.
Top
Remarks

A Message is represented by a fixed set of codes, a list of zero or more labels, and a sequence of zero or more characters that encode the message data.

The codes and labels of a Message are used to implement the details of the NetServer Communication Protocol. They specify, among other things, the type, sequence number and the destination of the data of a Message. A Message must be serialized in order to transfer it through a communication channel (socket). A serialized Message looks as follows:

+-+-----+-+-+----------------------------------------------------+
|V|12345|F|T|QOI<FS>KVVV...V<FS>KVVV...V<GS>SSIRMMPDDD......DDXXX|
+-+-----+-+-+----------------------------------------------------+

Message Header (8 Bytes)
     V: Version Code (0x1E)
     L: Length (12345)
     F: Filler Count (X)
     T: Type Code
Message Data (L-8 Bytes)
     Q: Sequence Number
     O: Operation Code
     I: Session ID (Links Only)
  <FS>: Field Separator (0x1C)
     K: Label Name
     V: Label Data Bytes
  <GS>: Group Separator (0x1D)
     S: Server Code
     I: Session ID Code
     R: Request/Reply Code
     M: Form Code
     P: Protection Code
     D: Data Bytes
     X: Filler Bytes (F)

The meaning of all these Message elements is explained in the different getter and setter methods provided by this class.

See Also