| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- using System;
 
- using System.Text;
 
- namespace SocketHttpListener
 
- {
 
-     /// <summary>
 
-     /// Contains the event data associated with a <see cref="WebSocket.OnMessage"/> event.
 
-     /// </summary>
 
-     /// <remarks>
 
-     /// A <see cref="WebSocket.OnMessage"/> event occurs when the <see cref="WebSocket"/> receives
 
-     /// a text or binary data frame.
 
-     /// If you want to get the received data, you access the <see cref="Data"/> or
 
-     /// <see cref="RawData"/> property.
 
-     /// </remarks>
 
-     public class MessageEventArgs : EventArgs
 
-     {
 
-         #region Private Fields
 
-         private string _data;
 
-         private Opcode _opcode;
 
-         private byte[] _rawData;
 
-         #endregion
 
-         #region Internal Constructors
 
-         internal MessageEventArgs(Opcode opcode, byte[] data)
 
-         {
 
-             _opcode = opcode;
 
-             _rawData = data;
 
-             _data = convertToString(opcode, data);
 
-         }
 
-         internal MessageEventArgs(Opcode opcode, PayloadData payload)
 
-         {
 
-             _opcode = opcode;
 
-             _rawData = payload.ApplicationData;
 
-             _data = convertToString(opcode, _rawData);
 
-         }
 
-         #endregion
 
-         #region Public Properties
 
-         /// <summary>
 
-         /// Gets the received data as a <see cref="string"/>.
 
-         /// </summary>
 
-         /// <value>
 
-         /// A <see cref="string"/> that contains the received data.
 
-         /// </value>
 
-         public string Data => _data;
 
-         /// <summary>
 
-         /// Gets the received data as an array of <see cref="byte"/>.
 
-         /// </summary>
 
-         /// <value>
 
-         /// An array of <see cref="byte"/> that contains the received data.
 
-         /// </value>
 
-         public byte[] RawData => _rawData;
 
-         /// <summary>
 
-         /// Gets the type of the received data.
 
-         /// </summary>
 
-         /// <value>
 
-         /// One of the <see cref="Opcode"/> values, indicates the type of the received data.
 
-         /// </value>
 
-         public Opcode Type => _opcode;
 
-         #endregion
 
-         #region Private Methods
 
-         private static string convertToString(Opcode opcode, byte[] data)
 
-         {
 
-             return data.Length == 0
 
-                    ? string.Empty
 
-                    : opcode == Opcode.Text
 
-                      ? Encoding.UTF8.GetString(data, 0, data.Length)
 
-                      : opcode.ToString();
 
-         }
 
-         #endregion
 
-     }
 
- }
 
 
  |