/// <summary> /// Sends the specified text to the remote computer. /// </summary> /// <param name="Text">Text to send</param> /// <param name="EncodingType">Encoding type used to send the data</param> private void SendText(string Text, TextEncodingTypes EncodingType) { byte[] buffer = new byte[Text.Length]; switch (EncodingType) { case TextEncodingTypes.Ascii: { buffer = System.Text.Encoding.ASCII.GetBytes(Text); break; } case TextEncodingTypes.Unicode: { buffer = System.Text.Encoding.Unicode.GetBytes(Text); break; } case TextEncodingTypes.Utf7: { buffer = System.Text.Encoding.UTF7.GetBytes(Text); break; } case TextEncodingTypes.Utf8: { buffer = System.Text.Encoding.UTF8.GetBytes(Text); break; } } SendData(buffer); }
/// <summary> /// Creates a new instance of ClientSocket class and sets the encoding algorithm specified. /// </summary> /// <param name="enc">The encoding algorithm used when manipulating text</param> public ClientSocket(TextEncodingTypes enc) { _encodingType = enc; Initialize(); }
/// <summary> /// Converts the arrived data to the appropriate text format using the encoding type and returns the text. /// </summary> /// <param name="ClearData">Pass false to clean the arrived data buffer, either pass false</param> /// <param name="Encodingtype">Value indicating the text encoding type used.</param> /// <returns></returns> private string GetArrivedText(bool ClearData, TextEncodingTypes Encodingtype) { byte[] buffer = GetArrivedData(ClearData); string result; switch (Encodingtype) { default: { result = System.Text.Encoding.ASCII.GetString(buffer); break; } case TextEncodingTypes.Unicode: { result = System.Text.Encoding.Unicode.GetString(buffer); break; } case TextEncodingTypes.Utf7: { result = System.Text.Encoding.UTF7.GetString(buffer); break; } case TextEncodingTypes.Utf8: { result = System.Text.Encoding.UTF8.GetString(buffer); break; } } return result; }