From b0b7f57f24236ae81940ad791bad306503dd1c30 Mon Sep 17 00:00:00 2001
From: Nicklas <145897592+nick7ass@users.noreply.github.com>
Date: Thu, 29 Feb 2024 18:07:03 +0100
Subject: [PATCH] Fire kind of finished and connection to ESP32 working for
 force sensor

---
 .DS_Store                                     |   Bin 0 -> 8196 bytes
 Assets/.DS_Store                              |   Bin 0 -> 10244 bytes
 Assets/1OurScripts/ConnectUnityWithSensors.cs |    79 +
 .../ConnectUnityWithSensors.cs.meta           |    11 +
 Assets/NuGet.config                           |    16 +
 Assets/NuGet.config.meta                      |    23 +
 Assets/OurESP32Scripts/ESP32/ESP32.ino        |    92 +
 Assets/Packages.meta                          |     8 +
 .../WebSocketSharp-netstandard.1.0.1.meta     |     8 +
 .../.signature.p7s                            |   Bin 0 -> 9465 bytes
 .../WebSocketSharp-netstandard.nuspec         |    31 +
 .../WebSocketSharp-netstandard.nuspec.meta    |     7 +
 .../WebSocketSharp-netstandard.1.0.1/lib.meta |     8 +
 .../lib/netstandard2.0.meta                   |     8 +
 .../lib/netstandard2.0/websocket-sharp.dll    |   Bin 0 -> 226816 bytes
 .../netstandard2.0/websocket-sharp.dll.meta   |    23 +
 .../lib/netstandard2.0/websocket-sharp.xml    | 10326 ++++++++++++++++
 .../netstandard2.0/websocket-sharp.xml.meta   |     7 +
 Assets/Scenes/MainScene.unity                 |    49 +-
 Assets/packages.config                        |     4 +
 Assets/packages.config.meta                   |    23 +
 Packages/manifest.json                        |     1 +
 Packages/packages-lock.json                   |     7 +
 23 files changed, 10730 insertions(+), 1 deletion(-)
 create mode 100644 .DS_Store
 create mode 100644 Assets/.DS_Store
 create mode 100644 Assets/1OurScripts/ConnectUnityWithSensors.cs
 create mode 100644 Assets/1OurScripts/ConnectUnityWithSensors.cs.meta
 create mode 100644 Assets/NuGet.config
 create mode 100644 Assets/NuGet.config.meta
 create mode 100644 Assets/OurESP32Scripts/ESP32/ESP32.ino
 create mode 100644 Assets/Packages.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/.signature.p7s
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll.meta
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml
 create mode 100644 Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml.meta
 create mode 100644 Assets/packages.config
 create mode 100644 Assets/packages.config.meta

diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..a7c8721d735bd72a942bc9986367c2c3a61fd2e6
GIT binary patch
literal 8196
zcmeHM-A)rh6g~qLw!t5aO1L4}#F%)2wIG@pZ%Tm}5+Q~~y--tk+gcWuou<3BA%vvY
z`VPK=w?2vQ;+1}9X29L8;04BzIMd9W*_m^`GxP1)*`Ah&M7`fyAetp22bJaY6q?@@
zp65DJ#>~idNCA7I4pqpfF72&HBieSrGGH073|Iy%1D1h{zyRLaT%1$h`+C;4mI2Ga
zf5`x!4=yUpnvp{-)zN`Qr2vp646A}Z@&IMy8d)=PsHHLmrp_LOF%>4o5ZWB`E~`V<
zj2vpI%}Ho;62`MI8H!NeVdpA!5;ZMtYZ<T%j55Hvdl@-<LM?iq&EI7+h-83SexSaf
zR(`009?_kQMT6?prydYeTBSAxxa!b4#lVvo--m8WA^I^jpdo1!H6@RBFxp*@a-Nn8
zp5|y7$O&-wfgI5R-J=y{>jS%st2L}V1RndUP!qac^d#-(k;PmAdFBtuXJLIRU`?E0
zrIZx>em_e$7$jZ8^Vgsog-KeieiLKkrArf&&ZINty!CeEz)StKpVa-{Yrfi+G766S
ze(*AE4;s@qS7e;}VchO1gRs?x%9~eV+>(R3?8mJ{*?M}yDLduH^z7l`!qUTecX4sy
zXx=@1yjY!gmmWMiIx0K2Zr^{h)!2*nWBC#5M-k@Wr7QaSq-8F0`~Tqe;z-6FHbR}G
zXShEB?g`(qgFHK9td)(d60{}ar@$ikCHkC+z#E7Mjwp$kYAWmm@l>Izsk?{+%;&wS
zIL@NXAQm@i15vp~+w@e$O&{^|T=jMlbxlN81z1rLOT|+bYaIT9k*H&KvRV$XeW324
z?Et^9Pr=cW)xTC)iwBz&pAdT=VM(!>wJy^ZcD9WDZ9rDQS*ySZcokPOyxzrL`6T$&
z{@v#rCrQrVWqJW$ZSZ~O&Y10-oqhi!P;9XboP&XJZ9B{P|Jv!l|DVHyHMI;_1}-`S
zqO|I**0IXtuXx1;bFS^8zC-20dP6Oh2^y7-L#lKf^5hRg^j)a3P0h%mmKZ^?KLjWm
LY-1VtrwsfAPD4L#

literal 0
HcmV?d00001

diff --git a/Assets/.DS_Store b/Assets/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..7d5b28059639f190db64b69bd9111ae30ec8811f
GIT binary patch
literal 10244
zcmeHM-ESL35TA8Ie36|H_lrsh=_DRNB1&ziAR(m6q=}${(kKp4sX#b?#I<_9v;0v5
zQNXW-|ABvjN04|%;)zH84BmNy-^^X2-Lto8D?n7;weIHbJinRQ-|WtM&qSoQ#;ppG
zPedLLmTN_v<~07EkC~QBpKL-Z;ECR)fFf$qF2yt2?tx>#G2j?*3^)cH1OEpGux4}f
z3W;=Q$ADwNF>uNN*9RX5%UUX@iImcTlWYMX7x7pcuCWggjGxL{DyNAQC~PLX2bDrq
zy2Vfl9N+t_4p~d(G?59MR01cJdRFNUMTvLdd{HM=OQbtH1{?#k4DjB)NENz8V;UIy
z_aU`!gmJSG#trE3w0axI#$VEKMO3okXoGsxrV#}h3qNEm6izMFsR{pG>H{@2QR<}(
zYHdEs=2d-{!LQOL-cXF;tB)uLREN(o-dc3=)*|cs&kXkb!?3mpa-EEoOSD5Fd^1ZC
z^MpH}ZbEhtMHAQih-D-inTR9{-)mWT@o{X~A|%d?ZuLC9Be5|*fke`R=LpgD<es^T
zX4v9P=~ga3niX4Ak~!VpIl2L_9c1e(;j1lK3vjLFFf)2MgSw3u9>s<&BFUs~tw<jr
z8s=&QOjB4n1WO$=3eK8Z)v{Ky;cT8cLxzPS=4=z60DX_?5dJ5)9%N@N&mIF;vf*r=
zISYn`C9yEZm>tiI0I+T77Ia;k2WHhkJr5MuqaE~Z7c;I3X{`^rACch)8n<Vl8<Sx_
zt!h6t`eAoCDwls(xrN2&mhxWSD|nyQ@5Yn*C>V{0TfyKC-|fe7*f_Zk8XtArlY_Mj
z*W+jubffk_0Nqv_DxZAZjau<!D;`I!p<wID7v8eBe6V);=%{k_^>x2mtsJlWM{ick
z>;BcvH;#{&y^Akjd28?BUf7G`Z_y((r4mUisXP%}(az{)*s0W;aj$;@IUCW7x3^PX
zyq_Oj`sRyYf5E6d%TF(EJprnJ_i>}UUmrwa9C0OORy>T00Au1F&K=CYIaN}9ZH$S&
zssGT~%5zOeU%*OXcr($qaV>LCx3iLs+KS{krz2kx<N&jr*9TrZeA>fx10Sx$KIE4;
z-^3l?A3`TaMd14F({)5Yz|$_>$J5yw!LwHPw*Jq0v-MKuz3w*;zg$&#6`WaJq=x>X
z<+NyO+q_8SG;w?2CBWLj>+c4xhWMa@n>Aaqr{hXsd@j!BSt_S)VOcB;kpr%7O<2o}
zTg92s5v#KZn>S%o$L3Kr1N5;k<0a#X+01=ruxV)9yfB*vZb@o0|BjjM4b~n*x1j6V
zJTPkp$^(kmS04Mk`e%B=oEiEnS$&%)W-No;$I5ey-lzBQD`B4wWWI#JSIw~@?ER*(
zcMjSXq|Li9soN;R#u&Zi8QMkWLiwd~NU`ag$7N2(m25bhXJJ^k@EU!XRtK&ZL-EaH
zo&U?@C%cG;e=CQQfi`~caCK>jUM4s2X`4@+C*5oL-|=eewPaiOpQGEfXL8GVUAU&@
zHP1RWi=0728w-<bj)A9yfrTVazW}*o|Ns9f>5U81G2j?@5(d=bc71ybNM%9uyLKPP
z=Qy~r-ZYT{!AV}nL(1!T-0<u8S8=dznI$(|*HSr6B%YxC=YIyc{r{Y|DsKOO`lkCC
H*#G|xS@0P<

literal 0
HcmV?d00001

diff --git a/Assets/1OurScripts/ConnectUnityWithSensors.cs b/Assets/1OurScripts/ConnectUnityWithSensors.cs
new file mode 100644
index 0000000..5df6252
--- /dev/null
+++ b/Assets/1OurScripts/ConnectUnityWithSensors.cs
@@ -0,0 +1,79 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using System;
+using WebSocketSharp; // Ensure this matches the WebSocket library you're using
+
+public class ConnectUnityWithSensors : MonoBehaviour
+{
+    // Websocket Service
+    WebSocket ws;
+    //public AudioSource audioSource; // Assign in inspector
+    //public AudioClip narrationClip; // Assign in inspector
+    //
+    public string esp32IPAddress = "10.204.0.249"; // Assign your ESP32 IP Address
+    public string esp32WebsocketPort = "81"; // Assign your ESP32 WebSocket port, typically "81"
+
+    private bool forceDataReceived = false;
+    private int receivedForceValue = 0;
+
+    void Start()
+    {
+        ConnectWithESP32();
+        //StartCoroutine(NarrationAndSignalCoroutine());
+    }
+
+    public void ConnectWithESP32()
+    {
+        Debug.Log("Connecting Unity with ESP32 via Websockets...");
+        ws = new WebSocket($"ws://{esp32IPAddress}:{esp32WebsocketPort}");
+        ws.OnOpen += (sender, e) =>
+        {
+            Debug.Log("WebSocket connected");
+            ws.Send("Hello from Unity!");
+        };
+        ws.OnMessage += (sender, e) =>
+        {
+            Debug.Log("Received message: " + e.Data);
+            int parsedValue;
+            bool isNumeric = int.TryParse(e.Data, out parsedValue);
+            if (isNumeric)
+            {
+                receivedForceValue = parsedValue;
+                forceDataReceived = true; // Indicate that new data has been received
+            }
+        };
+        ws.Connect();
+        Debug.Log("Websocket state - " + ws.ReadyState);
+    }
+
+    /*IEnumerator NarrationAndSignalCoroutine()
+    {
+        audioSource.PlayOneShot(narrationClip);
+        yield return new WaitForSeconds(narrationClip.length);
+        if (ws.IsAlive)
+        {
+            ws.Send("Need Force");
+        }
+    }*/
+
+    void Update()
+    {
+        if (forceDataReceived)
+        {
+            if (receivedForceValue > 50)
+            {
+                Debug.Log("Force threshold exceeded, action triggered.");
+            }
+            forceDataReceived = false; // Reset for the next message
+        }
+    }
+
+    void OnDestroy()
+    {
+        if (ws != null && ws.IsAlive)
+        {
+            ws.Close();
+        }
+    }
+}
diff --git a/Assets/1OurScripts/ConnectUnityWithSensors.cs.meta b/Assets/1OurScripts/ConnectUnityWithSensors.cs.meta
new file mode 100644
index 0000000..dd26172
--- /dev/null
+++ b/Assets/1OurScripts/ConnectUnityWithSensors.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0ecd28734b48f4313bff134f6df55396
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/NuGet.config b/Assets/NuGet.config
new file mode 100644
index 0000000..82fb1c8
--- /dev/null
+++ b/Assets/NuGet.config
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+  <packageSources>
+    <clear />
+    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
+  </packageSources>
+  <disabledPackageSources />
+  <activePackageSource>
+    <add key="All" value="(Aggregate source)" />
+  </activePackageSource>
+  <config>
+    <add key="repositoryPath" value="./Packages" />
+    <add key="PackagesConfigDirectoryPath" value="." />
+    <add key="slimRestore" value="true" />
+  </config>
+</configuration>
\ No newline at end of file
diff --git a/Assets/NuGet.config.meta b/Assets/NuGet.config.meta
new file mode 100644
index 0000000..fa90c9f
--- /dev/null
+++ b/Assets/NuGet.config.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 3bfefe5057a8141f5b38c75f10dda552
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/OurESP32Scripts/ESP32/ESP32.ino b/Assets/OurESP32Scripts/ESP32/ESP32.ino
new file mode 100644
index 0000000..0fc6615
--- /dev/null
+++ b/Assets/OurESP32Scripts/ESP32/ESP32.ino
@@ -0,0 +1,92 @@
+#include <ArduinoWebsockets.h>
+#include <WiFi.h>
+
+const char* ssid = "dsv-extrality-lab"; // Change to your WiFi network name
+const char* password = "expiring-unstuck-slider"; // Change to your WiFi password
+
+using namespace websockets;
+
+WebsocketsServer server;
+WebsocketsClient client;
+int forceSensorValue = 0;
+const int forceSensorPin = 34; // Change to your actual force sensor pin
+
+void setup() {
+  Serial.begin(115200);
+  
+  // Initialize force sensor pin as input
+  pinMode(forceSensorPin, INPUT);
+  
+  // Connect to WiFi
+  WiFi.begin(ssid, password);
+
+  // Wait to connect to WiFi
+  while (WiFi.status() != WL_CONNECTED) {
+    delay(1000);
+    Serial.println("Connecting to WiFi...");
+  }
+
+  Serial.println("Connected to WiFi");
+  Serial.print("IP Address: ");
+  Serial.println(WiFi.localIP());
+
+  // Start WebSocket server
+  server.listen(81);
+  Serial.println("WebSocket server started.");
+}
+
+void loop() {
+   //Serial.println(WiFi.localIP());
+if (server.poll()) {  //server.poll() checks if any client is waiting to connect
+    Serial.println("Client is available to connect...");
+    client = server.accept();  // Accept() --> what server.accept does, is: "server, please wait until there is a client knocking on the door. when there is a client knocking, let him in and give me it's object".
+    Serial.println("Client connected...");
+
+    while (client.available()) {
+      
+        Serial.println("Waiting for client to send a message...");
+        WebsocketsMessage msg = client.readBlocking();//readBlocking(removes the need for calling poll()) will return the first message or event received. readBlocking can also return Ping, Pong and Close messages.
+       
+        // log
+        Serial.print("Got Message: ");
+        Serial.println(msg.data());
+        // Condition to blink the light at the start of program as a hello indication
+        if(msg.data().startsWith("Hello")){
+          for(int i=0;i<4;i++){
+            digitalWrite(11, HIGH);  //Blink on 
+            delay(170);
+            digitalWrite(11, LOW);  //Blink off 
+          }
+          client.send(String(10));  
+        }
+        if (msg.data().equalsIgnoreCase("Need Force")) {
+          digitalWrite(11, HIGH);  //Notify user to use force sensor
+          Serial.println("Reading value from Force Sensor...");
+          while (forceSensorValue <= 20) {
+
+            analogReadResolution(10);  // This statement tells in how many bits the AnalogRead should happen.
+            // analogRead function returns the integer 10 bit integer (0 to 1023)
+            forceSensorValue = analogRead(A0);
+
+            if (forceSensorValue > 20) {
+              digitalWrite(13, HIGH);
+              Serial.print(forceSensorValue, DEC);
+              Serial.print("\n");  // Sending New Line character is important to read data in unity
+              Serial.flush();
+
+              // return echo
+              client.send(String(forceSensorValue));
+              digitalWrite(11, LOW);  //Notify user NOT to use force sensor
+              digitalWrite(13, LOW);  // Turn off built-in LED to notify user that value reading is done.
+              forceSensorValue = 0;
+              break;
+            }
+          }
+        }
+        
+    }
+    // close the connection
+    client.close();
+  }
+}
+
diff --git a/Assets/Packages.meta b/Assets/Packages.meta
new file mode 100644
index 0000000..fbabb52
--- /dev/null
+++ b/Assets/Packages.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ba626952818604530b1a713a3f4c9e15
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1.meta
new file mode 100644
index 0000000..58198a6
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b48e8c73bd75840d084f07aa471692a6
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/.signature.p7s b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/.signature.p7s
new file mode 100644
index 0000000000000000000000000000000000000000..38e615dff057f3af65476b3a2f5336812d694a5c
GIT binary patch
literal 9465
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
F{{SeyIY0ma

literal 0
HcmV?d00001

diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec
new file mode 100644
index 0000000..8af1b95
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
+  <metadata>
+    <id>WebSocketSharp-netstandard</id>
+    <version>1.0.1</version>
+    <authors>sta</authors>
+    <owners>sta</owners>
+    <requireLicenseAcceptance>false</requireLicenseAcceptance>
+    <licenseUrl>https://github.com/PingmanTools/websocket-sharp/blob/master/LICENSE.txt</licenseUrl>
+    <projectUrl>https://github.com/PingmanTools/websocket-sharp/</projectUrl>
+    <description>websocket-sharp provides the WebSocket protocol client and server.
+
+It supports:
+- RFC 6455
+- WebSocket Client and Server
+- Per-message Compression extension
+- Secure Connection
+- HTTP Authentication (Basic/Digest)
+- Query String, Origin header and Cookies
+- Connecting through the HTTP Proxy server
+- .NET 3.5 or later (includes compatible)</description>
+    <copyright>sta.blockhead</copyright>
+    <tags>websocket</tags>
+    <repository url="https://github.com/PingmanTools/websocket-sharp/" />
+    <dependencies>
+      <group targetFramework=".NETFramework3.5" />
+      <group targetFramework=".NETFramework4.5" />
+      <group targetFramework=".NETStandard2.0" />
+    </dependencies>
+  </metadata>
+</package>
\ No newline at end of file
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec.meta
new file mode 100644
index 0000000..7dac618
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/WebSocketSharp-netstandard.nuspec.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: b2cc6a0b16ab14fe4ba051dc7f34b6c2
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib.meta
new file mode 100644
index 0000000..b77f2b1
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a39cc4c82400245839717ac5f918c11f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0.meta
new file mode 100644
index 0000000..a0acdfe
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b0cecdec8c24e4c089316e744ff04271
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll
new file mode 100644
index 0000000000000000000000000000000000000000..27e2f7fa857813a4206fc48f8bc0faf617b6ee5e
GIT binary patch
literal 226816
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
AzyJUM

literal 0
HcmV?d00001

diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll.meta
new file mode 100644
index 0000000..90104c5
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.dll.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 625d580f04cb2464cad5256f498f47a9
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml
new file mode 100644
index 0000000..d4ffb44
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml
@@ -0,0 +1,10326 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>websocket-sharp</name>
+    </assembly>
+    <members>
+        <member name="T:WebSocketSharp.ByteOrder">
+            <summary>
+            Specifies the byte order.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.ByteOrder.Little">
+            <summary>
+            Specifies Little-endian.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.ByteOrder.Big">
+            <summary>
+            Specifies Big-endian.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.CloseEventArgs">
+            <summary>
+            Represents the event data for the <see cref="E:WebSocketSharp.WebSocket.OnClose"/> event.
+            </summary>
+            <remarks>
+              <para>
+              That event occurs when the WebSocket connection has been closed.
+              </para>
+              <para>
+              If you would like to get the reason for the close, you should access
+              the <see cref="P:WebSocketSharp.CloseEventArgs.Code"/> or <see cref="P:WebSocketSharp.CloseEventArgs.Reason"/> property.
+              </para>
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.CloseEventArgs.Code">
+            <summary>
+            Gets the status code for the close.
+            </summary>
+            <value>
+            A <see cref="T:System.UInt16"/> that represents the status code for the close if any.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.CloseEventArgs.Reason">
+            <summary>
+            Gets the reason for the close.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the reason for the close if any.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.CloseEventArgs.WasClean">
+            <summary>
+            Gets a value indicating whether the connection has been closed cleanly.
+            </summary>
+            <value>
+            <c>true</c> if the connection has been closed cleanly; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.CloseStatusCode">
+            <summary>
+            Indicates the status code for the WebSocket connection close.
+            </summary>
+            <remarks>
+              <para>
+              The values of this enumeration are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+              <para>
+              "Reserved value" cannot be sent as a status code in
+              closing handshake by an endpoint.
+              </para>
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.Normal">
+            <summary>
+            Equivalent to close status 1000. Indicates normal close.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.Away">
+            <summary>
+            Equivalent to close status 1001. Indicates that an endpoint is
+            going away.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.ProtocolError">
+            <summary>
+            Equivalent to close status 1002. Indicates that an endpoint is
+            terminating the connection due to a protocol error.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.UnsupportedData">
+            <summary>
+            Equivalent to close status 1003. Indicates that an endpoint is
+            terminating the connection because it has received a type of
+            data that it cannot accept.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.Undefined">
+            <summary>
+            Equivalent to close status 1004. Still undefined. A Reserved value.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.NoStatus">
+            <summary>
+            Equivalent to close status 1005. Indicates that no status code was
+            actually present. A Reserved value.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.Abnormal">
+            <summary>
+            Equivalent to close status 1006. Indicates that the connection was
+            closed abnormally. A Reserved value.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.InvalidData">
+            <summary>
+            Equivalent to close status 1007. Indicates that an endpoint is
+            terminating the connection because it has received a message that
+            contains data that is not consistent with the type of the message.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.PolicyViolation">
+            <summary>
+            Equivalent to close status 1008. Indicates that an endpoint is
+            terminating the connection because it has received a message that
+            violates its policy.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.TooBig">
+            <summary>
+            Equivalent to close status 1009. Indicates that an endpoint is
+            terminating the connection because it has received a message that
+            is too big to process.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.MandatoryExtension">
+            <summary>
+            Equivalent to close status 1010. Indicates that a client is
+            terminating the connection because it has expected the server to
+            negotiate one or more extension, but the server did not return
+            them in the handshake response.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.ServerError">
+            <summary>
+            Equivalent to close status 1011. Indicates that a server is
+            terminating the connection because it has encountered an unexpected
+            condition that prevented it from fulfilling the request.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CloseStatusCode.TlsHandshakeFailure">
+            <summary>
+            Equivalent to close status 1015. Indicates that the connection was
+            closed due to a failure to perform a TLS handshake. A Reserved value.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.CompressionMethod">
+            <summary>
+            Specifies the method for compression.
+            </summary>
+            <remarks>
+            The methods are defined in
+            <see href="https://tools.ietf.org/html/rfc7692">
+            Compression Extensions for WebSocket</see>.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.CompressionMethod.None">
+            <summary>
+            Specifies no compression.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.CompressionMethod.Deflate">
+            <summary>
+            Specifies DEFLATE.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.ErrorEventArgs">
+            <summary>
+            Represents the event data for the <see cref="E:WebSocketSharp.WebSocket.OnError"/> event.
+            </summary>
+            <remarks>
+              <para>
+              That event occurs when the <see cref="T:WebSocketSharp.WebSocket"/> gets an error.
+              </para>
+              <para>
+              If you would like to get the error message, you should access
+              the <see cref="P:WebSocketSharp.ErrorEventArgs.Message"/> property.
+              </para>
+              <para>
+              And if the error is due to an exception, you can get it by accessing
+              the <see cref="P:WebSocketSharp.ErrorEventArgs.Exception"/> property.
+              </para>
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.ErrorEventArgs.Exception">
+            <summary>
+            Gets the exception that caused the error.
+            </summary>
+            <value>
+            An <see cref="T:System.Exception"/> instance that represents the cause of
+            the error if it is due to an exception; otherwise, <see langword="null"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.ErrorEventArgs.Message">
+            <summary>
+            Gets the error message.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the error message.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Ext">
+            <summary>
+            Provides a set of static methods for websocket-sharp.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Ext.EqualsWith(System.Int32,System.Char,System.Action{System.Int32})">
+            <summary>
+            Determines whether the specified <see cref="T:System.Int32"/> equals the specified <see cref="T:System.Char"/>,
+            and invokes the specified <c>Action&lt;int&gt;</c> delegate at the same time.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="value"/> equals <paramref name="c"/>;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            An <see cref="T:System.Int32"/> to compare.
+            </param>
+            <param name="c">
+            A <see cref="T:System.Char"/> to compare.
+            </param>
+            <param name="action">
+            An <c>Action&lt;int&gt;</c> delegate that references the method(s) called
+            at the same time as comparing. An <see cref="T:System.Int32"/> parameter to pass to
+            the method(s) is <paramref name="value"/>.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetAbsolutePath(System.Uri)">
+            <summary>
+            Gets the absolute path from the specified <see cref="T:System.Uri"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the absolute path if it's successfully found;
+            otherwise, <see langword="null"/>.
+            </returns>
+            <param name="uri">
+            A <see cref="T:System.Uri"/> that represents the URI to get the absolute path from.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetName(System.String,System.Char)">
+            <summary>
+            Gets the name from the specified <see cref="T:System.String"/> that contains a pair of name and
+            value separated by a separator character.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the name if any; otherwise, <c>null</c>.
+            </returns>
+            <param name="nameAndValue">
+            A <see cref="T:System.String"/> that contains a pair of name and value separated by
+            a separator character.
+            </param>
+            <param name="separator">
+            A <see cref="T:System.Char"/> that represents the separator character.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetValue(System.String,System.Char)">
+            <summary>
+            Gets the value from the specified <see cref="T:System.String"/> that contains a pair of name and
+            value separated by a separator character.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the value if any; otherwise, <c>null</c>.
+            </returns>
+            <param name="nameAndValue">
+            A <see cref="T:System.String"/> that contains a pair of name and value separated by
+            a separator character.
+            </param>
+            <param name="separator">
+            A <see cref="T:System.Char"/> that represents the separator character.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.TryCreateWebSocketUri(System.String,System.Uri@,System.String@)">
+            <summary>
+            Tries to create a new <see cref="T:System.Uri"/> for WebSocket with
+            the specified <paramref name="uriString"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the <see cref="T:System.Uri"/> was successfully created;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="uriString">
+            A <see cref="T:System.String"/> that represents a WebSocket URL to try.
+            </param>
+            <param name="result">
+            When this method returns, a <see cref="T:System.Uri"/> that
+            represents the WebSocket URL or <see langword="null"/>
+            if <paramref name="uriString"/> is invalid.
+            </param>
+            <param name="message">
+            When this method returns, a <see cref="T:System.String"/> that
+            represents an error message or <see langword="null"/>
+            if <paramref name="uriString"/> is valid.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Contains(System.String,System.Char[])">
+            <summary>
+            Determines whether the specified <see cref="T:System.String"/> contains any of characters in
+            the specified array of <see cref="T:System.Char"/>.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="value"/> contains any of <paramref name="chars"/>;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to test.
+            </param>
+            <param name="chars">
+            An array of <see cref="T:System.Char"/> that contains characters to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Contains(System.Collections.Specialized.NameValueCollection,System.String)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Collections.Specialized.NameValueCollection"/> contains
+            the entry with the specified <paramref name="name"/>.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="collection"/> contains the entry with
+            <paramref name="name"/>; otherwise, <c>false</c>.
+            </returns>
+            <param name="collection">
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> to test.
+            </param>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the key of the entry to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Contains(System.Collections.Specialized.NameValueCollection,System.String,System.String)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Collections.Specialized.NameValueCollection"/> contains the entry with
+            the specified both <paramref name="name"/> and <paramref name="value"/>.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="collection"/> contains the entry with both
+            <paramref name="name"/> and <paramref name="value"/>; otherwise, <c>false</c>.
+            </returns>
+            <param name="collection">
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> to test.
+            </param>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the key of the entry to find.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the entry to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Emit(System.EventHandler,System.Object,System.EventArgs)">
+            <summary>
+            Emits the specified <see cref="T:System.EventHandler"/> delegate if it isn't <see langword="null"/>.
+            </summary>
+            <param name="eventHandler">
+            A <see cref="T:System.EventHandler"/> to emit.
+            </param>
+            <param name="sender">
+            An <see cref="T:System.Object"/> from which emits this <paramref name="eventHandler"/>.
+            </param>
+            <param name="e">
+            A <see cref="T:System.EventArgs"/> that contains no event data.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Emit``1(System.EventHandler{``0},System.Object,``0)">
+            <summary>
+            Emits the specified <c>EventHandler&lt;TEventArgs&gt;</c> delegate if it isn't
+            <see langword="null"/>.
+            </summary>
+            <param name="eventHandler">
+            An <c>EventHandler&lt;TEventArgs&gt;</c> to emit.
+            </param>
+            <param name="sender">
+            An <see cref="T:System.Object"/> from which emits this <paramref name="eventHandler"/>.
+            </param>
+            <param name="e">
+            A <c>TEventArgs</c> that represents the event data.
+            </param>
+            <typeparam name="TEventArgs">
+            The type of the event data generated by the event.
+            </typeparam>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetCookies(System.Collections.Specialized.NameValueCollection,System.Boolean)">
+            <summary>
+            Gets the collection of the HTTP cookies from the specified HTTP <paramref name="headers"/>.
+            </summary>
+            <returns>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that receives a collection of the HTTP cookies.
+            </returns>
+            <param name="headers">
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains a collection of the HTTP headers.
+            </param>
+            <param name="response">
+            <c>true</c> if <paramref name="headers"/> is a collection of the response headers;
+            otherwise, <c>false</c>.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetDescription(WebSocketSharp.Net.HttpStatusCode)">
+            <summary>
+            Gets the description of the specified HTTP status <paramref name="code"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the description of the HTTP status code.
+            </returns>
+            <param name="code">
+            One of <see cref="T:WebSocketSharp.Net.HttpStatusCode"/> enum values, indicates the HTTP status code.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.GetStatusDescription(System.Int32)">
+            <summary>
+            Gets the description of the specified HTTP status <paramref name="code"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the description of the HTTP status code.
+            </returns>
+            <param name="code">
+            An <see cref="T:System.Int32"/> that represents the HTTP status code.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsCloseStatusCode(System.UInt16)">
+            <summary>
+            Determines whether the specified <see cref="T:System.UInt16"/> is in the
+            range of the status code for the WebSocket connection close.
+            </summary>
+            <remarks>
+              <para>
+              The ranges are the following:
+              </para>
+              <list type="bullet">
+                <item>
+                  <term>
+                  1000-2999: These numbers are reserved for definition by
+                  the WebSocket protocol.
+                  </term>
+                </item>
+                <item>
+                  <term>
+                  3000-3999: These numbers are reserved for use by libraries,
+                  frameworks, and applications.
+                  </term>
+                </item>
+                <item>
+                  <term>
+                  4000-4999: These numbers are reserved for private use.
+                  </term>
+                </item>
+              </list>
+            </remarks>
+            <returns>
+            <c>true</c> if <paramref name="value"/> is in the range of
+            the status code for the close; otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.UInt16"/> to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsEnclosedIn(System.String,System.Char)">
+            <summary>
+            Determines whether the specified <see cref="T:System.String"/> is
+            enclosed in the specified <see cref="T:System.Char"/>.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="value"/> is enclosed in
+            <paramref name="c"/>; otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to test.
+            </param>
+            <param name="c">
+            A <see cref="T:System.Char"/> to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsHostOrder(WebSocketSharp.ByteOrder)">
+            <summary>
+            Determines whether the specified <see cref="T:WebSocketSharp.ByteOrder"/> is host (this computer
+            architecture) byte order.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="order"/> is host byte order; otherwise, <c>false</c>.
+            </returns>
+            <param name="order">
+            One of the <see cref="T:WebSocketSharp.ByteOrder"/> enum values, to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Net.IPAddress"/>
+            represents a local IP address.
+            </summary>
+            <remarks>
+            This local means NOT REMOTE for the current host.
+            </remarks>
+            <returns>
+            <c>true</c> if <paramref name="address"/> represents a local IP address;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="address">
+            A <see cref="T:System.Net.IPAddress"/> to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsNullOrEmpty(System.String)">
+            <summary>
+            Determines whether the specified string is <see langword="null"/> or
+            an empty string.
+            </summary>
+            <returns>
+            <c>true</c> if the string is <see langword="null"/> or an empty string;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsPredefinedScheme(System.String)">
+            <summary>
+            Determines whether the specified <see cref="T:System.String"/> is
+            a predefined scheme.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="value"/> is a predefined scheme;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.IsUpgradeTo(WebSocketSharp.Net.HttpListenerRequest,System.String)">
+            <summary>
+            Determines whether the specified <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/> is
+            an HTTP Upgrade request to switch to the specified <paramref name="protocol"/>.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="request"/> is an HTTP Upgrade request to switch to
+            <paramref name="protocol"/>; otherwise, <c>false</c>.
+            </returns>
+            <param name="request">
+            A <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/> that represents the HTTP request.
+            </param>
+            <param name="protocol">
+            A <see cref="T:System.String"/> that represents the protocol name.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="request"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="protocol"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="protocol"/> is empty.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Ext.MaybeUri(System.String)">
+            <summary>
+            Determines whether the specified <see cref="T:System.String"/> is a URI string.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="value"/> may be a URI string;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to test.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.SubArray``1(``0[],System.Int32,System.Int32)">
+            <summary>
+            Retrieves a sub-array from the specified <paramref name="array"/>. A sub-array starts at
+            the specified element position in <paramref name="array"/>.
+            </summary>
+            <returns>
+            An array of T that receives a sub-array, or an empty array of T if any problems with
+            the parameters.
+            </returns>
+            <param name="array">
+            An array of T from which to retrieve a sub-array.
+            </param>
+            <param name="startIndex">
+            An <see cref="T:System.Int32"/> that represents the zero-based starting position of
+            a sub-array in <paramref name="array"/>.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that represents the number of elements to retrieve.
+            </param>
+            <typeparam name="T">
+            The type of elements in <paramref name="array"/>.
+            </typeparam>
+        </member>
+        <member name="M:WebSocketSharp.Ext.SubArray``1(``0[],System.Int64,System.Int64)">
+            <summary>
+            Retrieves a sub-array from the specified <paramref name="array"/>. A sub-array starts at
+            the specified element position in <paramref name="array"/>.
+            </summary>
+            <returns>
+            An array of T that receives a sub-array, or an empty array of T if any problems with
+            the parameters.
+            </returns>
+            <param name="array">
+            An array of T from which to retrieve a sub-array.
+            </param>
+            <param name="startIndex">
+            A <see cref="T:System.Int64"/> that represents the zero-based starting position of
+            a sub-array in <paramref name="array"/>.
+            </param>
+            <param name="length">
+            A <see cref="T:System.Int64"/> that represents the number of elements to retrieve.
+            </param>
+            <typeparam name="T">
+            The type of elements in <paramref name="array"/>.
+            </typeparam>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.Int32,System.Action)">
+            <summary>
+            Executes the specified <see cref="T:System.Action"/> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            An <see cref="T:System.Int32"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <see cref="T:System.Action"/> delegate that references the method(s) to execute.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.Int64,System.Action)">
+            <summary>
+            Executes the specified <see cref="T:System.Action"/> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.Int64"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <see cref="T:System.Action"/> delegate that references the method(s) to execute.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.UInt32,System.Action)">
+            <summary>
+            Executes the specified <see cref="T:System.Action"/> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.UInt32"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <see cref="T:System.Action"/> delegate that references the method(s) to execute.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.UInt64,System.Action)">
+            <summary>
+            Executes the specified <see cref="T:System.Action"/> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.UInt64"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <see cref="T:System.Action"/> delegate that references the method(s) to execute.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.Int32,System.Action{System.Int32})">
+            <summary>
+            Executes the specified <c>Action&lt;int&gt;</c> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            An <see cref="T:System.Int32"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <c>Action&lt;int&gt;</c> delegate that references the method(s) to execute.
+            An <see cref="T:System.Int32"/> parameter to pass to the method(s) is the zero-based count of
+            iteration.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.Int64,System.Action{System.Int64})">
+            <summary>
+            Executes the specified <c>Action&lt;long&gt;</c> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.Int64"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <c>Action&lt;long&gt;</c> delegate that references the method(s) to execute.
+            A <see cref="T:System.Int64"/> parameter to pass to the method(s) is the zero-based count of
+            iteration.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.UInt32,System.Action{System.UInt32})">
+            <summary>
+            Executes the specified <c>Action&lt;uint&gt;</c> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.UInt32"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <c>Action&lt;uint&gt;</c> delegate that references the method(s) to execute.
+            A <see cref="T:System.UInt32"/> parameter to pass to the method(s) is the zero-based count of
+            iteration.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.Times(System.UInt64,System.Action{System.UInt64})">
+            <summary>
+            Executes the specified <c>Action&lt;ulong&gt;</c> delegate <paramref name="n"/> times.
+            </summary>
+            <param name="n">
+            A <see cref="T:System.UInt64"/> is the number of times to execute.
+            </param>
+            <param name="action">
+            An <c>Action&lt;ulong&gt;</c> delegate that references the method(s) to execute.
+            A <see cref="T:System.UInt64"/> parameter to pass to this method(s) is the zero-based count of
+            iteration.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.To``1(System.Byte[],WebSocketSharp.ByteOrder)">
+            <summary>
+            Converts the specified array of <see cref="T:System.Byte"/> to the specified type data.
+            </summary>
+            <returns>
+            A T converted from <paramref name="source"/>, or a default value of
+            T if <paramref name="source"/> is an empty array of <see cref="T:System.Byte"/> or
+            if the type of T isn't <see cref="T:System.Boolean"/>, <see cref="T:System.Char"/>, <see cref="T:System.Double"/>,
+            <see cref="T:System.Single"/>, <see cref="T:System.Int32"/>, <see cref="T:System.Int64"/>, <see cref="T:System.Int16"/>,
+            <see cref="T:System.UInt32"/>, <see cref="T:System.UInt64"/>, or <see cref="T:System.UInt16"/>.
+            </returns>
+            <param name="source">
+            An array of <see cref="T:System.Byte"/> to convert.
+            </param>
+            <param name="sourceOrder">
+            One of the <see cref="T:WebSocketSharp.ByteOrder"/> enum values, specifies the byte order of
+            <paramref name="source"/>.
+            </param>
+            <typeparam name="T">
+            The type of the return. The T must be a value type.
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="source"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Ext.ToByteArray``1(``0,WebSocketSharp.ByteOrder)">
+            <summary>
+            Converts the specified <paramref name="value"/> to an array of <see cref="T:System.Byte"/>.
+            </summary>
+            <returns>
+            An array of <see cref="T:System.Byte"/> converted from <paramref name="value"/>.
+            </returns>
+            <param name="value">
+            A T to convert.
+            </param>
+            <param name="order">
+            One of the <see cref="T:WebSocketSharp.ByteOrder"/> enum values, specifies the byte order of the return.
+            </param>
+            <typeparam name="T">
+            The type of <paramref name="value"/>. The T must be a value type.
+            </typeparam>
+        </member>
+        <member name="M:WebSocketSharp.Ext.ToHostOrder(System.Byte[],WebSocketSharp.ByteOrder)">
+            <summary>
+            Converts the order of the specified array of <see cref="T:System.Byte"/> to the host byte order.
+            </summary>
+            <returns>
+            An array of <see cref="T:System.Byte"/> converted from <paramref name="source"/>.
+            </returns>
+            <param name="source">
+            An array of <see cref="T:System.Byte"/> to convert.
+            </param>
+            <param name="sourceOrder">
+            One of the <see cref="T:WebSocketSharp.ByteOrder"/> enum values, specifies the byte order of
+            <paramref name="source"/>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="source"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Ext.ToString``1(``0[],System.String)">
+            <summary>
+            Converts the specified <paramref name="array"/> to a <see cref="T:System.String"/> that
+            concatenates the each element of <paramref name="array"/> across the specified
+            <paramref name="separator"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> converted from <paramref name="array"/>,
+            or <see cref="F:System.String.Empty"/> if <paramref name="array"/> is empty.
+            </returns>
+            <param name="array">
+            An array of T to convert.
+            </param>
+            <param name="separator">
+            A <see cref="T:System.String"/> that represents the separator string.
+            </param>
+            <typeparam name="T">
+            The type of elements in <paramref name="array"/>.
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="array"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Ext.ToUri(System.String)">
+            <summary>
+            Converts the specified <see cref="T:System.String"/> to a <see cref="T:System.Uri"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.Uri"/> converted from <paramref name="value"/> or
+            <see langword="null"/> if the convert has failed.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to convert.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.UrlDecode(System.String)">
+            <summary>
+            URL-decodes the specified <see cref="T:System.String"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that receives the decoded string or
+            <paramref name="value"/> if it is <see langword="null"/> or empty.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to decode.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.UrlEncode(System.String)">
+            <summary>
+            URL-encodes the specified <see cref="T:System.String"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that receives the encoded string or
+            <paramref name="value"/> if it is <see langword="null"/> or empty.
+            </returns>
+            <param name="value">
+            A <see cref="T:System.String"/> to encode.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Ext.WriteContent(WebSocketSharp.Net.HttpListenerResponse,System.Byte[])">
+            <summary>
+            Writes and sends the specified <paramref name="content"/> data with the specified
+            <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/>.
+            </summary>
+            <param name="response">
+            A <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> that represents the HTTP response used to
+            send the content data.
+            </param>
+            <param name="content">
+            An array of <see cref="T:System.Byte"/> that represents the content data to send.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="response"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="content"/> is <see langword="null"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Fin">
+            <summary>
+            Indicates whether a WebSocket frame is the final frame of a message.
+            </summary>
+            <remarks>
+            The values of this enumeration are defined in
+            <see href="http://tools.ietf.org/html/rfc6455#section-5.2">Section 5.2</see> of RFC 6455.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Fin.More">
+            <summary>
+            Equivalent to numeric value 0. Indicates more frames of a message follow.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Fin.Final">
+            <summary>
+            Equivalent to numeric value 1. Indicates the final frame of a message.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.LogData">
+            <summary>
+            Represents a log data used by the <see cref="T:WebSocketSharp.Logger"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.LogData.Caller">
+            <summary>
+            Gets the information of the logging method caller.
+            </summary>
+            <value>
+            A <see cref="T:System.Diagnostics.StackFrame"/> that provides the information of the logging method caller.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.LogData.Date">
+            <summary>
+            Gets the date and time when the log data was created.
+            </summary>
+            <value>
+            A <see cref="T:System.DateTime"/> that represents the date and time when the log data was created.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.LogData.Level">
+            <summary>
+            Gets the logging level of the log data.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.LogLevel"/> enum values, indicates the logging level of the log data.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.LogData.Message">
+            <summary>
+            Gets the message of the log data.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the message of the log data.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.LogData.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.LogData"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.LogData"/>.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Logger">
+            <summary>
+            Provides a set of methods and properties for logging.
+            </summary>
+            <remarks>
+              <para>
+              If you output a log with lower than the value of the <see cref="P:WebSocketSharp.Logger.Level"/> property,
+              it cannot be outputted.
+              </para>
+              <para>
+              The default output action writes a log to the standard output stream and the log file
+              if the <see cref="P:WebSocketSharp.Logger.File"/> property has a valid path to it.
+              </para>
+              <para>
+              If you would like to use the custom output action, you should set
+              the <see cref="P:WebSocketSharp.Logger.Output"/> property to any <c>Action&lt;LogData, string&gt;</c>
+              delegate.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Logger.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Logger"/> class.
+            </summary>
+            <remarks>
+            This constructor initializes the current logging level with <see cref="F:WebSocketSharp.LogLevel.Error"/>.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Logger.#ctor(WebSocketSharp.LogLevel)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Logger"/> class with
+            the specified logging <paramref name="level"/>.
+            </summary>
+            <param name="level">
+            One of the <see cref="T:WebSocketSharp.LogLevel"/> enum values.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.#ctor(WebSocketSharp.LogLevel,System.String,System.Action{WebSocketSharp.LogData,System.String})">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Logger"/> class with
+            the specified logging <paramref name="level"/>, path to the log <paramref name="file"/>,
+            and <paramref name="output"/> action.
+            </summary>
+            <param name="level">
+            One of the <see cref="T:WebSocketSharp.LogLevel"/> enum values.
+            </param>
+            <param name="file">
+            A <see cref="T:System.String"/> that represents the path to the log file.
+            </param>
+            <param name="output">
+            An <c>Action&lt;LogData, string&gt;</c> delegate that references the method(s) used to
+            output a log. A <see cref="T:System.String"/> parameter passed to this delegate is
+            <paramref name="file"/>.
+            </param>
+        </member>
+        <member name="P:WebSocketSharp.Logger.File">
+            <summary>
+            Gets or sets the current path to the log file.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the current path to the log file if any.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Logger.Level">
+            <summary>
+            Gets or sets the current logging level.
+            </summary>
+            <remarks>
+            A log with lower than the value of this property cannot be outputted.
+            </remarks>
+            <value>
+            One of the <see cref="T:WebSocketSharp.LogLevel"/> enum values, specifies the current logging level.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Logger.Output">
+            <summary>
+            Gets or sets the current output action used to output a log.
+            </summary>
+            <value>
+              <para>
+              An <c>Action&lt;LogData, string&gt;</c> delegate that references the method(s) used to
+              output a log. A <see cref="T:System.String"/> parameter passed to this delegate is the value of
+              the <see cref="P:WebSocketSharp.Logger.File"/> property.
+              </para>
+              <para>
+              If the value to set is <see langword="null"/>, the current output action is changed to
+              the default output action.
+              </para>
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Debug(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Debug"/>.
+            </summary>
+            <remarks>
+            If the current logging level is higher than <see cref="F:WebSocketSharp.LogLevel.Debug"/>,
+            this method doesn't output <paramref name="message"/> as a log.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Error(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Error"/>.
+            </summary>
+            <remarks>
+            If the current logging level is higher than <see cref="F:WebSocketSharp.LogLevel.Error"/>,
+            this method doesn't output <paramref name="message"/> as a log.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Fatal(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Fatal"/>.
+            </summary>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Info(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Info"/>.
+            </summary>
+            <remarks>
+            If the current logging level is higher than <see cref="F:WebSocketSharp.LogLevel.Info"/>,
+            this method doesn't output <paramref name="message"/> as a log.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Trace(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Trace"/>.
+            </summary>
+            <remarks>
+            If the current logging level is higher than <see cref="F:WebSocketSharp.LogLevel.Trace"/>,
+            this method doesn't output <paramref name="message"/> as a log.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Logger.Warn(System.String)">
+            <summary>
+            Outputs <paramref name="message"/> as a log with <see cref="F:WebSocketSharp.LogLevel.Warn"/>.
+            </summary>
+            <remarks>
+            If the current logging level is higher than <see cref="F:WebSocketSharp.LogLevel.Warn"/>,
+            this method doesn't output <paramref name="message"/> as a log.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the message to output as a log.
+            </param>
+        </member>
+        <member name="T:WebSocketSharp.LogLevel">
+            <summary>
+            Specifies the logging level.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Trace">
+            <summary>
+            Specifies the bottom logging level.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Debug">
+            <summary>
+            Specifies the 2nd logging level from the bottom.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Info">
+            <summary>
+            Specifies the 3rd logging level from the bottom.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Warn">
+            <summary>
+            Specifies the 3rd logging level from the top.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Error">
+            <summary>
+            Specifies the 2nd logging level from the top.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.LogLevel.Fatal">
+            <summary>
+            Specifies the top logging level.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Mask">
+            <summary>
+            Indicates whether the payload data of a WebSocket frame is masked.
+            </summary>
+            <remarks>
+            The values of this enumeration are defined in
+            <see href="http://tools.ietf.org/html/rfc6455#section-5.2">Section 5.2</see> of RFC 6455.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Mask.Off">
+            <summary>
+            Equivalent to numeric value 0. Indicates not masked.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Mask.On">
+            <summary>
+            Equivalent to numeric value 1. Indicates masked.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.MessageEventArgs">
+            <summary>
+            Represents the event data for the <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event.
+            </summary>
+            <remarks>
+              <para>
+              That event occurs when the <see cref="T:WebSocketSharp.WebSocket"/> receives
+              a message or a ping if the <see cref="P:WebSocketSharp.WebSocket.EmitOnPing"/>
+              property is set to <c>true</c>.
+              </para>
+              <para>
+              If you would like to get the message data, you should access
+              the <see cref="P:WebSocketSharp.MessageEventArgs.Data"/> or <see cref="P:WebSocketSharp.MessageEventArgs.RawData"/> property.
+              </para>
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.Opcode">
+            <summary>
+            Gets the opcode for the message.
+            </summary>
+            <value>
+            <see cref="F:WebSocketSharp.Opcode.Text"/>, <see cref="F:WebSocketSharp.Opcode.Binary"/>,
+            or <see cref="F:WebSocketSharp.Opcode.Ping"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.Data">
+            <summary>
+            Gets the message data as a <see cref="T:System.String"/>.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the message data if its type is
+            text or ping and if decoding it to a string has successfully done;
+            otherwise, <see langword="null"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.IsBinary">
+            <summary>
+            Gets a value indicating whether the message type is binary.
+            </summary>
+            <value>
+            <c>true</c> if the message type is binary; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.IsPing">
+            <summary>
+            Gets a value indicating whether the message type is ping.
+            </summary>
+            <value>
+            <c>true</c> if the message type is ping; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.IsText">
+            <summary>
+            Gets a value indicating whether the message type is text.
+            </summary>
+            <value>
+            <c>true</c> if the message type is text; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.MessageEventArgs.RawData">
+            <summary>
+            Gets the message data as an array of <see cref="T:System.Byte"/>.
+            </summary>
+            <value>
+            An array of <see cref="T:System.Byte"/> that represents the message data.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.AuthenticationSchemes">
+            <summary>
+            Specifies the scheme for authentication.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.AuthenticationSchemes.None">
+            <summary>
+            No authentication is allowed.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.AuthenticationSchemes.Digest">
+            <summary>
+            Specifies digest authentication.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.AuthenticationSchemes.Basic">
+            <summary>
+            Specifies basic authentication.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.AuthenticationSchemes.Anonymous">
+            <summary>
+            Specifies anonymous authentication.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.ClientSslConfiguration">
+            <summary>
+            Stores the parameters for the <see cref="T:System.Net.Security.SslStream"/> used by clients.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.ClientSslConfiguration.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.ClientSslConfiguration"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.ClientSslConfiguration.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.ClientSslConfiguration"/> class
+            with the specified <paramref name="targetHost"/>.
+            </summary>
+            <param name="targetHost">
+            A <see cref="T:System.String"/> that represents the target host server name.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.ClientSslConfiguration.#ctor(WebSocketSharp.Net.ClientSslConfiguration)">
+            <summary>
+            Copies the parameters from the specified <paramref name="configuration"/> to
+            a new instance of the <see cref="T:WebSocketSharp.Net.ClientSslConfiguration"/> class.
+            </summary>
+            <param name="configuration">
+            A <see cref="T:WebSocketSharp.Net.ClientSslConfiguration"/> from which to copy.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="configuration"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.CheckCertificateRevocation">
+            <summary>
+            Gets or sets a value indicating whether the certificate revocation
+            list is checked during authentication.
+            </summary>
+            <value>
+              <para>
+              <c>true</c> if the certificate revocation list is checked during
+              authentication; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.ClientCertificates">
+            <summary>
+            Gets or sets the certificates from which to select one to
+            supply to the server.
+            </summary>
+            <value>
+              <para>
+              A <see cref="T:System.Security.Cryptography.X509Certificates.X509CertificateCollection"/> or <see langword="null"/>.
+              </para>
+              <para>
+              That collection contains client certificates from which to select.
+              </para>
+              <para>
+              The default value is <see langword="null"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.ClientCertificateSelectionCallback">
+            <summary>
+            Gets or sets the callback used to select the certificate to
+            supply to the server.
+            </summary>
+            <remarks>
+            No certificate is supplied if the callback returns
+            <see langword="null"/>.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.Net.Security.LocalCertificateSelectionCallback"/> delegate that
+              invokes the method called for selecting the certificate.
+              </para>
+              <para>
+              The default value is a delegate that invokes a method that
+              only returns <see langword="null"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.EnabledSslProtocols">
+            <summary>
+            Gets or sets the protocols used for authentication.
+            </summary>
+            <value>
+              <para>
+              The <see cref="T:System.Security.Authentication.SslProtocols"/> enum values that represent
+              the protocols used for authentication.
+              </para>
+              <para>
+              The default value is <see cref="F:System.Security.Authentication.SslProtocols.Default"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.ServerCertificateValidationCallback">
+            <summary>
+            Gets or sets the callback used to validate the certificate
+            supplied by the server.
+            </summary>
+            <remarks>
+            The certificate is valid if the callback returns <c>true</c>.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.Net.Security.RemoteCertificateValidationCallback"/> delegate that
+              invokes the method called for validating the certificate.
+              </para>
+              <para>
+              The default value is a delegate that invokes a method that
+              only returns <c>true</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ClientSslConfiguration.TargetHost">
+            <summary>
+            Gets or sets the target host server name.
+            </summary>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> or <see langword="null"/>
+              if not specified.
+              </para>
+              <para>
+              That string represents the name of the server that
+              will share a secure connection with a client.
+              </para>
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.Cookie">
+            <summary>
+            Provides a set of methods and properties used to manage an HTTP Cookie.
+            </summary>
+            <remarks>
+              <para>
+              The Cookie class supports the following cookie formats:
+              <see href="http://web.archive.org/web/20020803110822/http://wp.netscape.com/newsref/std/cookie_spec.html">Netscape specification</see>,
+              <see href="http://www.ietf.org/rfc/rfc2109.txt">RFC 2109</see>, and
+              <see href="http://www.ietf.org/rfc/rfc2965.txt">RFC 2965</see>
+              </para>
+              <para>
+              The Cookie class cannot be inherited.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.Cookie"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.#ctor(System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.Cookie"/> class with the specified
+            <paramref name="name"/> and <paramref name="value"/>.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the Name of the cookie.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the Value of the cookie.
+            </param>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+              <para>
+              <paramref name="name"/> is <see langword="null"/> or empty.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="name"/> contains an invalid character.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> is <see langword="null"/>.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> contains a string not enclosed in double quotes
+              that contains an invalid character.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.#ctor(System.String,System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.Cookie"/> class with the specified
+            <paramref name="name"/>, <paramref name="value"/>, and <paramref name="path"/>.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the Name of the cookie.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the Value of the cookie.
+            </param>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents the value of the Path attribute of the cookie.
+            </param>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+              <para>
+              <paramref name="name"/> is <see langword="null"/> or empty.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="name"/> contains an invalid character.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> is <see langword="null"/>.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> contains a string not enclosed in double quotes
+              that contains an invalid character.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.#ctor(System.String,System.String,System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.Cookie"/> class with the specified
+            <paramref name="name"/>, <paramref name="value"/>, <paramref name="path"/>, and
+            <paramref name="domain"/>.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the Name of the cookie.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the Value of the cookie.
+            </param>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents the value of the Path attribute of the cookie.
+            </param>
+            <param name="domain">
+            A <see cref="T:System.String"/> that represents the value of the Domain attribute of the cookie.
+            </param>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+              <para>
+              <paramref name="name"/> is <see langword="null"/> or empty.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="name"/> contains an invalid character.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> is <see langword="null"/>.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              <paramref name="value"/> contains a string not enclosed in double quotes
+              that contains an invalid character.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Comment">
+            <summary>
+            Gets or sets the value of the Comment attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the comment to document intended use of the cookie.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.CommentUri">
+            <summary>
+            Gets or sets the value of the CommentURL attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the URI that provides the comment to document intended
+            use of the cookie.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Discard">
+            <summary>
+            Gets or sets a value indicating whether the client discards the cookie unconditionally
+            when the client terminates.
+            </summary>
+            <value>
+            <c>true</c> if the client discards the cookie unconditionally when the client terminates;
+            otherwise, <c>false</c>. The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Domain">
+            <summary>
+            Gets or sets the value of the Domain attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the URI for which the cookie is valid.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Expired">
+            <summary>
+            Gets or sets a value indicating whether the cookie has expired.
+            </summary>
+            <value>
+            <c>true</c> if the cookie has expired; otherwise, <c>false</c>.
+            The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Expires">
+            <summary>
+            Gets or sets the value of the Expires attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.DateTime"/> that represents the date and time at which the cookie expires.
+            The default value is <see cref="F:System.DateTime.MinValue"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.HttpOnly">
+            <summary>
+            Gets or sets a value indicating whether non-HTTP APIs can access the cookie.
+            </summary>
+            <value>
+            <c>true</c> if non-HTTP APIs cannot access the cookie; otherwise, <c>false</c>.
+            The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Name">
+            <summary>
+            Gets or sets the Name of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the Name of the cookie.
+            </value>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+              <para>
+              The value specified for a set operation is <see langword="null"/> or empty.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              The value specified for a set operation contains an invalid character.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Path">
+            <summary>
+            Gets or sets the value of the Path attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the subset of URI on the origin server
+            to which the cookie applies.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Port">
+            <summary>
+            Gets or sets the value of the Port attribute of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the list of TCP ports to which the cookie applies.
+            </value>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+            The value specified for a set operation isn't enclosed in double quotes or
+            couldn't be parsed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Secure">
+            <summary>
+            Gets or sets a value indicating whether the security level of the cookie is secure.
+            </summary>
+            <remarks>
+            When this property is <c>true</c>, the cookie may be included in the HTTP request
+            only if the request is transmitted over the HTTPS.
+            </remarks>
+            <value>
+            <c>true</c> if the security level of the cookie is secure; otherwise, <c>false</c>.
+            The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.TimeStamp">
+            <summary>
+            Gets the time when the cookie was issued.
+            </summary>
+            <value>
+            A <see cref="T:System.DateTime"/> that represents the time when the cookie was issued.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Value">
+            <summary>
+            Gets or sets the Value of the cookie.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the Value of the cookie.
+            </value>
+            <exception cref="T:WebSocketSharp.Net.CookieException">
+              <para>
+              The value specified for a set operation is <see langword="null"/>.
+              </para>
+              <para>
+              - or -
+              </para>
+              <para>
+              The value specified for a set operation contains a string not enclosed in double quotes
+              that contains an invalid character.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.Cookie.Version">
+            <summary>
+            Gets or sets the value of the Version attribute of the cookie.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the version of the HTTP state management
+            to which the cookie conforms.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation isn't 0 or 1.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.Equals(System.Object)">
+            <summary>
+            Determines whether the specified <see cref="T:System.Object"/> is equal to the current
+            <see cref="T:WebSocketSharp.Net.Cookie"/>.
+            </summary>
+            <param name="comparand">
+            An <see cref="T:System.Object"/> to compare with the current <see cref="T:WebSocketSharp.Net.Cookie"/>.
+            </param>
+            <returns>
+            <c>true</c> if <paramref name="comparand"/> is equal to the current <see cref="T:WebSocketSharp.Net.Cookie"/>;
+            otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.GetHashCode">
+            <summary>
+            Serves as a hash function for a <see cref="T:WebSocketSharp.Net.Cookie"/> object.
+            </summary>
+            <returns>
+            An <see cref="T:System.Int32"/> that represents the hash code for the current <see cref="T:WebSocketSharp.Net.Cookie"/>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.Cookie.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.Net.Cookie"/>.
+            </summary>
+            <remarks>
+            This method returns a <see cref="T:System.String"/> to use to send an HTTP Cookie to
+            an origin server.
+            </remarks>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.Net.Cookie"/>.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.CookieCollection">
+            <summary>
+            Provides a collection container for instances of the <see cref="T:WebSocketSharp.Net.Cookie"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.CookieCollection"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.Count">
+            <summary>
+            Gets the number of cookies in the collection.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of cookies in the collection.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the collection is read-only.
+            </summary>
+            <value>
+            <c>true</c> if the collection is read-only; otherwise, <c>false</c>.
+            The default value is <c>true</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.IsSynchronized">
+            <summary>
+            Gets a value indicating whether the access to the collection is thread safe.
+            </summary>
+            <value>
+            <c>true</c> if the access to the collection is thread safe; otherwise, <c>false</c>.
+            The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.Item(System.Int32)">
+            <summary>
+            Gets the <see cref="T:WebSocketSharp.Net.Cookie"/> at the specified <paramref name="index"/> from
+            the collection.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> at the specified <paramref name="index"/> in the collection.
+            </value>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index of the <see cref="T:WebSocketSharp.Net.Cookie"/>
+            to find.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is out of allowable range of indexes for the collection.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.Item(System.String)">
+            <summary>
+            Gets the <see cref="T:WebSocketSharp.Net.Cookie"/> with the specified <paramref name="name"/> from
+            the collection.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> with the specified <paramref name="name"/> in the collection.
+            </value>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the <see cref="T:WebSocketSharp.Net.Cookie"/> to find.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.CookieCollection.SyncRoot">
+            <summary>
+            Gets an object used to synchronize access to the collection.
+            </summary>
+            <value>
+            An <see cref="T:System.Object"/> used to synchronize access to the collection.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.Add(WebSocketSharp.Net.Cookie)">
+            <summary>
+            Adds the specified <paramref name="cookie"/> to the collection.
+            </summary>
+            <param name="cookie">
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> to add.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="cookie"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.Add(WebSocketSharp.Net.CookieCollection)">
+            <summary>
+            Adds the specified <paramref name="cookies"/> to the collection.
+            </summary>
+            <param name="cookies">
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies to add.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="cookies"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies the elements of the collection to the specified <see cref="T:System.Array"/>, starting at
+            the specified <paramref name="index"/> in the <paramref name="array"/>.
+            </summary>
+            <param name="array">
+            An <see cref="T:System.Array"/> that represents the destination of the elements copied from
+            the collection.
+            </param>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index in <paramref name="array"/>
+            at which copying begins.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="array"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is less than zero.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="array"/> is multidimensional.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The number of elements in the collection is greater than the available space from
+              <paramref name="index"/> to the end of the destination <paramref name="array"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidCastException">
+            The elements in the collection cannot be cast automatically to the type of the destination
+            <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.CopyTo(WebSocketSharp.Net.Cookie[],System.Int32)">
+            <summary>
+            Copies the elements of the collection to the specified array of <see cref="T:WebSocketSharp.Net.Cookie"/>,
+            starting at the specified <paramref name="index"/> in the <paramref name="array"/>.
+            </summary>
+            <param name="array">
+            An array of <see cref="T:WebSocketSharp.Net.Cookie"/> that represents the destination of the elements
+            copied from the collection.
+            </param>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index in <paramref name="array"/>
+            at which copying begins.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="array"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is less than zero.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            The number of elements in the collection is greater than the available space from
+            <paramref name="index"/> to the end of the destination <paramref name="array"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieCollection.GetEnumerator">
+            <summary>
+            Gets the enumerator used to iterate through the collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> instance used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.CookieException">
+            <summary>
+            The exception that is thrown when a <see cref="T:WebSocketSharp.Net.Cookie"/> gets an error.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.CookieException"/> class from
+            the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> and <see cref="T:System.Runtime.Serialization.StreamingContext"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that contains the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the source for the deserialization.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.CookieException"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Populates the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize
+            the current <see cref="T:WebSocketSharp.Net.CookieException"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the destination for the serialization.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.CookieException.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Populates the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize
+            the current <see cref="T:WebSocketSharp.Net.CookieException"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the destination for the serialization.
+            </param>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpBasicIdentity">
+            <summary>
+            Holds the username and password from an HTTP Basic authentication attempt.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpBasicIdentity.Password">
+            <summary>
+            Gets the password from a basic authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the password.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpDigestIdentity">
+            <summary>
+            Holds the username and other parameters from
+            an HTTP Digest authentication attempt.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Algorithm">
+            <summary>
+            Gets the algorithm parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the algorithm parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Cnonce">
+            <summary>
+            Gets the cnonce parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the cnonce parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Nc">
+            <summary>
+            Gets the nc parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the nc parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Nonce">
+            <summary>
+            Gets the nonce parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the nonce parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Opaque">
+            <summary>
+            Gets the opaque parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the opaque parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Qop">
+            <summary>
+            Gets the qop parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the qop parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Realm">
+            <summary>
+            Gets the realm parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the realm parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Response">
+            <summary>
+            Gets the response parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the response parameter.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpDigestIdentity.Uri">
+            <summary>
+            Gets the uri parameter from a digest authentication attempt.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the uri parameter.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListener">
+            <summary>
+            Provides a simple, programmatically controlled HTTP listener.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListener"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.AuthenticationSchemes">
+            <summary>
+            Gets or sets the scheme used to authenticate the clients.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.Net.AuthenticationSchemes"/> enum values,
+            represents the scheme used to authenticate the clients. The default value is
+            <see cref="F:WebSocketSharp.Net.AuthenticationSchemes.Anonymous"/>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.AuthenticationSchemeSelector">
+            <summary>
+            Gets or sets the delegate called to select the scheme used to authenticate the clients.
+            </summary>
+            <remarks>
+            If you set this property, the listener uses the authentication scheme selected by
+            the delegate for each request. Or if you don't set, the listener uses the value of
+            the <see cref="P:WebSocketSharp.Net.HttpListener.AuthenticationSchemes"/> property as the authentication
+            scheme for all requests.
+            </remarks>
+            <value>
+            A <c>Func&lt;<see cref="T:WebSocketSharp.Net.HttpListenerRequest"/>, <see cref="P:WebSocketSharp.Net.HttpListener.AuthenticationSchemes"/>&gt;</c>
+            delegate that references the method used to select an authentication scheme. The default
+            value is <see langword="null"/>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.CertificateFolderPath">
+            <summary>
+            Gets or sets the path to the folder in which stores the certificate files used to
+            authenticate the server on the secure connection.
+            </summary>
+            <remarks>
+              <para>
+              This property represents the path to the folder in which stores the certificate files
+              associated with each port number of added URI prefixes. A set of the certificate files
+              is a pair of the <c>'port number'.cer</c> (DER) and <c>'port number'.key</c>
+              (DER, RSA Private Key).
+              </para>
+              <para>
+              If this property is <see langword="null"/> or empty, the result of
+              <c>System.Environment.GetFolderPath
+              (<see cref="F:System.Environment.SpecialFolder.ApplicationData"/>)</c> is used as the default path.
+              </para>
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the path to the folder in which stores
+            the certificate files. The default value is <see langword="null"/>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.IgnoreWriteExceptions">
+            <summary>
+            Gets or sets a value indicating whether the listener returns exceptions that occur when
+            sending the response to the client.
+            </summary>
+            <value>
+            <c>true</c> if the listener shouldn't return those exceptions; otherwise, <c>false</c>.
+            The default value is <c>false</c>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.IsListening">
+            <summary>
+            Gets a value indicating whether the listener has been started.
+            </summary>
+            <value>
+            <c>true</c> if the listener has been started; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.IsSupported">
+            <summary>
+            Gets a value indicating whether the listener can be used with the current operating system.
+            </summary>
+            <value>
+            <c>true</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.Log">
+            <summary>
+            Gets the logging functions.
+            </summary>
+            <remarks>
+            The default logging level is <see cref="F:WebSocketSharp.LogLevel.Error"/>. If you would like to change it,
+            you should set the <c>Log.Level</c> property to any of the <see cref="T:WebSocketSharp.LogLevel"/> enum
+            values.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging functions.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.Prefixes">
+            <summary>
+            Gets the URI prefixes handled by the listener.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerPrefixCollection"/> that contains the URI prefixes.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.Realm">
+            <summary>
+            Gets or sets the name of the realm associated with the listener.
+            </summary>
+            <remarks>
+            If this property is <see langword="null"/> or empty, <c>"SECRET AREA"</c> will be used as
+            the name of the realm.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the name of the realm. The default value is
+            <see langword="null"/>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.SslConfiguration">
+            <summary>
+            Gets or sets the SSL configuration used to authenticate the server and
+            optionally the client for secure connection.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> that represents the configuration used to
+            authenticate the server and optionally the client for secure connection.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.UnsafeConnectionNtlmAuthentication">
+            <summary>
+            Gets or sets a value indicating whether, when NTLM authentication is used,
+            the authentication information of first request is used to authenticate
+            additional requests on the same connection.
+            </summary>
+            <remarks>
+            This property isn't currently supported and always throws
+            a <see cref="T:System.NotSupportedException"/>.
+            </remarks>
+            <value>
+            <c>true</c> if the authentication information of first request is used;
+            otherwise, <c>false</c>.
+            </value>
+            <exception cref="T:System.NotSupportedException">
+            Any use of this property.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListener.UserCredentialsFinder">
+            <summary>
+            Gets or sets the delegate called to find the credentials for an identity used to
+            authenticate a client.
+            </summary>
+            <value>
+            A <c>Func&lt;<see cref="T:System.Security.Principal.IIdentity"/>, <see cref="T:WebSocketSharp.Net.NetworkCredential"/>&gt;</c> delegate
+            that references the method used to find the credentials. The default value is
+            <see langword="null"/>.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.Abort">
+            <summary>
+            Shuts down the listener immediately.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.BeginGetContext(System.AsyncCallback,System.Object)">
+            <summary>
+            Begins getting an incoming request asynchronously.
+            </summary>
+            <remarks>
+            This asynchronous operation must be completed by calling the <c>EndGetContext</c> method.
+            Typically, the method is invoked by the <paramref name="callback"/> delegate.
+            </remarks>
+            <returns>
+            An <see cref="T:System.IAsyncResult"/> that represents the status of the asynchronous operation.
+            </returns>
+            <param name="callback">
+            An <see cref="T:System.AsyncCallback"/> delegate that references the method to invoke when
+            the asynchronous operation completes.
+            </param>
+            <param name="state">
+            An <see cref="T:System.Object"/> that represents a user defined object to pass to
+            the <paramref name="callback"/> delegate.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              This listener has no URI prefix on which listens.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              This listener hasn't been started, or is currently stopped.
+              </para>
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.Close">
+            <summary>
+            Shuts down the listener.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.EndGetContext(System.IAsyncResult)">
+            <summary>
+            Ends an asynchronous operation to get an incoming request.
+            </summary>
+            <remarks>
+            This method completes an asynchronous operation started by calling
+            the <c>BeginGetContext</c> method.
+            </remarks>
+            <returns>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerContext"/> that represents a request.
+            </returns>
+            <param name="asyncResult">
+            An <see cref="T:System.IAsyncResult"/> obtained by calling the <c>BeginGetContext</c> method.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="asyncResult"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="asyncResult"/> wasn't obtained by calling the <c>BeginGetContext</c> method.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            This method was already called for the specified <paramref name="asyncResult"/>.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.GetContext">
+            <summary>
+            Gets an incoming request.
+            </summary>
+            <remarks>
+            This method waits for an incoming request, and returns when a request is received.
+            </remarks>
+            <returns>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerContext"/> that represents a request.
+            </returns>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              This listener has no URI prefix on which listens.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              This listener hasn't been started, or is currently stopped.
+              </para>
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.Start">
+            <summary>
+            Starts receiving incoming requests.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.Stop">
+            <summary>
+            Stops receiving incoming requests.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            This listener has been closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListener.System#IDisposable#Dispose">
+            <summary>
+            Releases all resources used by the listener.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListenerContext">
+            <summary>
+            Provides the access to the HTTP request and response objects used by
+            the <see cref="T:WebSocketSharp.Net.HttpListener"/>.
+            </summary>
+            <remarks>
+            This class cannot be inherited.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerContext.Request">
+            <summary>
+            Gets the HTTP request object that represents a client request.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/> that represents the client request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerContext.Response">
+            <summary>
+            Gets the HTTP response object used to send a response to the client.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> that represents a response to the client request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerContext.User">
+            <summary>
+            Gets the client information (identity, authentication, and security roles).
+            </summary>
+            <value>
+            A <see cref="T:System.Security.Principal.IPrincipal"/> instance that represents the client information.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerContext.AcceptWebSocket(System.String)">
+            <summary>
+            Accepts a WebSocket handshake request.
+            </summary>
+            <returns>
+            A <see cref="T:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext"/> that represents
+            the WebSocket handshake request.
+            </returns>
+            <param name="protocol">
+            A <see cref="T:System.String"/> that represents the subprotocol supported on
+            this WebSocket connection.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="protocol"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="protocol"/> contains an invalid character.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            This method has already been called.
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListenerException">
+            <summary>
+            The exception that is thrown when a <see cref="T:WebSocketSharp.Net.HttpListener"/> gets an error
+            processing an HTTP request.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListenerException"/> class from
+            the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> and <see cref="T:System.Runtime.Serialization.StreamingContext"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that contains the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the source for the deserialization.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerException.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListenerException"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerException.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListenerException"/> class
+            with the specified <paramref name="errorCode"/>.
+            </summary>
+            <param name="errorCode">
+            An <see cref="T:System.Int32"/> that identifies the error.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerException.#ctor(System.Int32,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListenerException"/> class
+            with the specified <paramref name="errorCode"/> and <paramref name="message"/>.
+            </summary>
+            <param name="errorCode">
+            An <see cref="T:System.Int32"/> that identifies the error.
+            </param>
+            <param name="message">
+            A <see cref="T:System.String"/> that describes the error.
+            </param>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerException.ErrorCode">
+            <summary>
+            Gets the error code that identifies the error that occurred.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that identifies the error.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefix.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpListenerPrefix"/> class with
+            the specified <paramref name="uriPrefix"/>.
+            </summary>
+            <remarks>
+            This constructor must be called after calling the CheckPrefix method.
+            </remarks>
+            <param name="uriPrefix">
+            A <see cref="T:System.String"/> that represents the URI prefix.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefix.Equals(System.Object)">
+            <summary>
+            Determines whether this instance and the specified <see cref="T:System.Object"/> have the same value.
+            </summary>
+            <remarks>
+            This method will be required to detect duplicates in any collection.
+            </remarks>
+            <param name="obj">
+            An <see cref="T:System.Object"/> to compare to this instance.
+            </param>
+            <returns>
+            <c>true</c> if <paramref name="obj"/> is a <see cref="T:WebSocketSharp.Net.HttpListenerPrefix"/> and
+            its value is the same as this instance; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefix.GetHashCode">
+            <summary>
+            Gets the hash code for this instance.
+            </summary>
+            <remarks>
+            This method will be required to detect duplicates in any collection.
+            </remarks>
+            <returns>
+            An <see cref="T:System.Int32"/> that represents the hash code.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListenerPrefixCollection">
+            <summary>
+            Provides the collection used to store the URI prefixes for the <see cref="T:WebSocketSharp.Net.HttpListener"/>.
+            </summary>
+            <remarks>
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> responds to the request which has a requested URI that
+            the prefixes most closely match.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerPrefixCollection.Count">
+            <summary>
+            Gets the number of prefixes in the collection.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of prefixes.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerPrefixCollection.IsReadOnly">
+            <summary>
+            Gets a value indicating whether the access to the collection is read-only.
+            </summary>
+            <value>
+            Always returns <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerPrefixCollection.IsSynchronized">
+            <summary>
+            Gets a value indicating whether the access to the collection is synchronized.
+            </summary>
+            <value>
+            Always returns <c>false</c>.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.Add(System.String)">
+            <summary>
+            Adds the specified <paramref name="uriPrefix"/> to the collection.
+            </summary>
+            <param name="uriPrefix">
+            A <see cref="T:System.String"/> that represents the URI prefix to add. The prefix must be
+            a well-formed URI prefix with http or https scheme, and must end with a <c>'/'</c>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="uriPrefix"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="uriPrefix"/> is invalid.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.Clear">
+            <summary>
+            Removes all URI prefixes from the collection.
+            </summary>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.Contains(System.String)">
+            <summary>
+            Returns a value indicating whether the collection contains the specified
+            <paramref name="uriPrefix"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the collection contains <paramref name="uriPrefix"/>;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="uriPrefix">
+            A <see cref="T:System.String"/> that represents the URI prefix to test.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="uriPrefix"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.CopyTo(System.Array,System.Int32)">
+            <summary>
+            Copies the contents of the collection to the specified <see cref="T:System.Array"/>.
+            </summary>
+            <param name="array">
+            An <see cref="T:System.Array"/> that receives the URI prefix strings in the collection.
+            </param>
+            <param name="offset">
+            An <see cref="T:System.Int32"/> that represents the zero-based index in <paramref name="array"/>
+            at which copying begins.
+            </param>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.CopyTo(System.String[],System.Int32)">
+            <summary>
+            Copies the contents of the collection to the specified array of <see cref="T:System.String"/>.
+            </summary>
+            <param name="array">
+            An array of <see cref="T:System.String"/> that receives the URI prefix strings in the collection.
+            </param>
+            <param name="offset">
+            An <see cref="T:System.Int32"/> that represents the zero-based index in <paramref name="array"/>
+            at which copying begins.
+            </param>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.GetEnumerator">
+            <summary>
+            Gets the enumerator used to iterate through the <see cref="T:WebSocketSharp.Net.HttpListenerPrefixCollection"/>.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.Generic.IEnumerator{string}"/> instance used to iterate
+            through the collection.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.Remove(System.String)">
+            <summary>
+            Removes the specified <paramref name="uriPrefix"/> from the collection.
+            </summary>
+            <returns>
+            <c>true</c> if <paramref name="uriPrefix"/> is successfully found and removed;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="uriPrefix">
+            A <see cref="T:System.String"/> that represents the URI prefix to remove.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="uriPrefix"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            The <see cref="T:WebSocketSharp.Net.HttpListener"/> associated with this collection is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerPrefixCollection.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Gets the enumerator used to iterate through the <see cref="T:WebSocketSharp.Net.HttpListenerPrefixCollection"/>.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> instance used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListenerRequest">
+            <summary>
+            Provides the access to a request to the <see cref="T:WebSocketSharp.Net.HttpListener"/>.
+            </summary>
+            <remarks>
+            The HttpListenerRequest class cannot be inherited.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.AcceptTypes">
+            <summary>
+            Gets the media types which are acceptable for the response.
+            </summary>
+            <value>
+            An array of <see cref="T:System.String"/> that contains the media type names in
+            the Accept request-header, or <see langword="null"/> if the request didn't include
+            the Accept header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.ClientCertificateError">
+            <summary>
+            Gets an error code that identifies a problem with the client's certificate.
+            </summary>
+            <value>
+            Always returns <c>0</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.ContentEncoding">
+            <summary>
+            Gets the encoding for the entity body data included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Text.Encoding"/> that represents the encoding for the entity body data,
+            or <see cref="P:System.Text.Encoding.Default"/> if the request didn't include the information about
+            the encoding.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.ContentLength64">
+            <summary>
+            Gets the number of bytes in the entity body data included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Int64"/> that represents the value of the Content-Length entity-header,
+            or <c>-1</c> if the value isn't known.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.ContentType">
+            <summary>
+            Gets the media type of the entity body included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Content-Type entity-header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.Cookies">
+            <summary>
+            Gets the cookies included in the request.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies included in the request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.HasEntityBody">
+            <summary>
+            Gets a value indicating whether the request has the entity body.
+            </summary>
+            <value>
+            <c>true</c> if the request has the entity body; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.Headers">
+            <summary>
+            Gets the HTTP headers used in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the HTTP headers used in the request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.HttpMethod">
+            <summary>
+            Gets the HTTP method used in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the HTTP method used in the request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.InputStream">
+            <summary>
+            Gets a <see cref="T:System.IO.Stream"/> that contains the entity body data included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.IO.Stream"/> that contains the entity body data included in the request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.IsAuthenticated">
+            <summary>
+            Gets a value indicating whether the client that sent the request is authenticated.
+            </summary>
+            <value>
+            <c>true</c> if the client is authenticated; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal">
+            <summary>
+            Gets a value indicating whether the request is sent from the local computer.
+            </summary>
+            <value>
+            <c>true</c> if the request is sent from the local computer; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.IsSecureConnection">
+            <summary>
+            Gets a value indicating whether the HTTP connection is secured using the SSL protocol.
+            </summary>
+            <value>
+            <c>true</c> if the HTTP connection is secured; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest">
+            <summary>
+            Gets a value indicating whether the request is a WebSocket connection request.
+            </summary>
+            <value>
+            <c>true</c> if the request is a WebSocket connection request; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.KeepAlive">
+            <summary>
+            Gets a value indicating whether the client requests a persistent connection.
+            </summary>
+            <value>
+            <c>true</c> if the client requests a persistent connection; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.LocalEndPoint">
+            <summary>
+            Gets the server endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the server endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.ProtocolVersion">
+            <summary>
+            Gets the HTTP version used in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Version"/> that represents the HTTP version used in the request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.QueryString">
+            <summary>
+            Gets the query string included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the query string parameters.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.RawUrl">
+            <summary>
+            Gets the raw URL (without the scheme, host, and port) requested by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the raw URL requested by the client.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.RemoteEndPoint">
+            <summary>
+            Gets the client endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the client endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.RequestTraceIdentifier">
+            <summary>
+            Gets the request identifier of a incoming HTTP request.
+            </summary>
+            <value>
+            A <see cref="T:System.Guid"/> that represents the identifier of a request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.Url">
+            <summary>
+            Gets the URL requested by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the URL requested by the client.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.UrlReferrer">
+            <summary>
+            Gets the URL of the resource from which the requested URL was obtained.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the value of the Referer request-header,
+            or <see langword="null"/> if the request didn't include an Referer header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.UserAgent">
+            <summary>
+            Gets the information about the user agent originating the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the User-Agent request-header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.UserHostAddress">
+            <summary>
+            Gets the server endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the server endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.UserHostName">
+            <summary>
+            Gets the internet host name and port number (if present) specified by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Host request-header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerRequest.UserLanguages">
+            <summary>
+            Gets the natural languages which are preferred for the response.
+            </summary>
+            <value>
+            An array of <see cref="T:System.String"/> that contains the natural language names in
+            the Accept-Language request-header, or <see langword="null"/> if the request
+            didn't include an Accept-Language header.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerRequest.BeginGetClientCertificate(System.AsyncCallback,System.Object)">
+            <summary>
+            Begins getting the client's X.509 v.3 certificate asynchronously.
+            </summary>
+            <remarks>
+            This asynchronous operation must be completed by calling
+            the <see cref="M:WebSocketSharp.Net.HttpListenerRequest.EndGetClientCertificate(System.IAsyncResult)"/> method. Typically,
+            that method is invoked by the <paramref name="requestCallback"/> delegate.
+            </remarks>
+            <returns>
+            An <see cref="T:System.IAsyncResult"/> that contains the status of the asynchronous operation.
+            </returns>
+            <param name="requestCallback">
+            An <see cref="T:System.AsyncCallback"/> delegate that references the method(s) called when
+            the asynchronous operation completes.
+            </param>
+            <param name="state">
+            An <see cref="T:System.Object"/> that contains a user defined object to pass to
+            the <paramref name="requestCallback"/> delegate.
+            </param>
+            <exception cref="T:System.NotImplementedException">
+            This method isn't implemented.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerRequest.EndGetClientCertificate(System.IAsyncResult)">
+            <summary>
+            Ends an asynchronous operation to get the client's X.509 v.3 certificate.
+            </summary>
+            <remarks>
+            This method completes an asynchronous operation started by calling
+            the <see cref="M:WebSocketSharp.Net.HttpListenerRequest.BeginGetClientCertificate(System.AsyncCallback,System.Object)"/> method.
+            </remarks>
+            <returns>
+            A <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/> that contains the client's X.509 v.3 certificate.
+            </returns>
+            <param name="asyncResult">
+            An <see cref="T:System.IAsyncResult"/> obtained by calling
+            the <see cref="M:WebSocketSharp.Net.HttpListenerRequest.BeginGetClientCertificate(System.AsyncCallback,System.Object)"/> method.
+            </param>
+            <exception cref="T:System.NotImplementedException">
+            This method isn't implemented.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerRequest.GetClientCertificate">
+            <summary>
+            Gets the client's X.509 v.3 certificate.
+            </summary>
+            <returns>
+            A <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/> that contains the client's X.509 v.3 certificate.
+            </returns>
+            <exception cref="T:System.NotImplementedException">
+            This method isn't implemented.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerRequest.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents
+            the current <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/>.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpListenerResponse">
+            <summary>
+            Provides the access to a response to a request received by the <see cref="T:WebSocketSharp.Net.HttpListener"/>.
+            </summary>
+            <remarks>
+            The HttpListenerResponse class cannot be inherited.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.ContentEncoding">
+            <summary>
+            Gets or sets the encoding for the entity body data included in the response.
+            </summary>
+            <value>
+            A <see cref="T:System.Text.Encoding"/> that represents the encoding for the entity body data,
+            or <see langword="null"/> if no encoding is specified.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.ContentLength64">
+            <summary>
+            Gets or sets the number of bytes in the entity body data included in the response.
+            </summary>
+            <value>
+            A <see cref="T:System.Int64"/> that represents the value of the Content-Length entity-header.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is less than zero.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.ContentType">
+            <summary>
+            Gets or sets the media type of the entity body included in the response.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the media type of the entity body,
+            or <see langword="null"/> if no media type is specified. This value is
+            used for the value of the Content-Type entity-header.
+            </value>
+            <exception cref="T:System.ArgumentException">
+            The value specified for a set operation is empty.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.Cookies">
+            <summary>
+            Gets or sets the cookies sent with the response.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies sent with the response.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.Headers">
+            <summary>
+            Gets or sets the HTTP headers sent to the client.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> that contains the headers sent to the client.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The value specified for a set operation isn't valid for a response.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.KeepAlive">
+            <summary>
+            Gets or sets a value indicating whether the server requests a persistent connection.
+            </summary>
+            <value>
+            <c>true</c> if the server requests a persistent connection; otherwise, <c>false</c>.
+            The default value is <c>true</c>.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.OutputStream">
+            <summary>
+            Gets a <see cref="T:System.IO.Stream"/> to use to write the entity body data.
+            </summary>
+            <value>
+            A <see cref="T:System.IO.Stream"/> to use to write the entity body data.
+            </value>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.ProtocolVersion">
+            <summary>
+            Gets or sets the HTTP version used in the response.
+            </summary>
+            <value>
+            A <see cref="T:System.Version"/> that represents the version used in the response.
+            </value>
+            <exception cref="T:System.ArgumentNullException">
+            The value specified for a set operation is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            The value specified for a set operation doesn't have its <c>Major</c> property set to 1 or
+            doesn't have its <c>Minor</c> property set to either 0 or 1.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.RedirectLocation">
+            <summary>
+            Gets or sets the URL to which the client is redirected to locate a requested resource.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Location response-header,
+            or <see langword="null"/> if no redirect location is specified.
+            </value>
+            <exception cref="T:System.ArgumentException">
+            The value specified for a set operation isn't an absolute URL.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.SendChunked">
+            <summary>
+            Gets or sets a value indicating whether the response uses the chunked transfer encoding.
+            </summary>
+            <value>
+            <c>true</c> if the response uses the chunked transfer encoding;
+            otherwise, <c>false</c>. The default value is <c>false</c>.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.StatusCode">
+            <summary>
+            Gets or sets the HTTP status code returned to the client.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the status code for the response to
+            the request. The default value is same as <see cref="F:WebSocketSharp.Net.HttpStatusCode.OK"/>.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+            <exception cref="T:System.Net.ProtocolViolationException">
+            The value specified for a set operation is invalid. Valid values are
+            between 100 and 999 inclusive.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.HttpListenerResponse.StatusDescription">
+            <summary>
+            Gets or sets the description of the HTTP status code returned to the client.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the description of the status code. The default
+            value is the <see href="http://tools.ietf.org/html/rfc2616#section-10">RFC 2616</see>
+            description for the <see cref="P:WebSocketSharp.Net.HttpListenerResponse.StatusCode"/> property value,
+            or <see cref="F:System.String.Empty"/> if an RFC 2616 description doesn't exist.
+            </value>
+            <exception cref="T:System.ArgumentException">
+            The value specified for a set operation contains invalid characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.Abort">
+            <summary>
+            Closes the connection to the client without returning a response.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.AddHeader(System.String,System.String)">
+            <summary>
+            Adds an HTTP header with the specified <paramref name="name"/> and
+            <paramref name="value"/> to the headers for the response.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to add.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the header to add.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="name"/> or <paramref name="value"/> contains invalid characters.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="name"/> is a restricted header name.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The header cannot be allowed to add to the current headers.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.AppendCookie(WebSocketSharp.Net.Cookie)">
+            <summary>
+            Appends the specified <paramref name="cookie"/> to the cookies sent with the response.
+            </summary>
+            <param name="cookie">
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> to append.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="cookie"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.AppendHeader(System.String,System.String)">
+            <summary>
+            Appends a <paramref name="value"/> to the specified HTTP header sent with the response.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to append
+            <paramref name="value"/> to.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value to append to the header.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="name"/> or <paramref name="value"/> contains invalid characters.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="name"/> is a restricted header name.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current headers cannot allow the header to append a value.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.Close">
+            <summary>
+            Returns the response to the client and releases the resources used by
+            this <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> instance.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.Close(System.Byte[],System.Boolean)">
+            <summary>
+            Returns the response with the specified array of <see cref="T:System.Byte"/> to the client and
+            releases the resources used by this <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> instance.
+            </summary>
+            <param name="responseEntity">
+            An array of <see cref="T:System.Byte"/> that contains the response entity body data.
+            </param>
+            <param name="willBlock">
+            <c>true</c> if this method blocks execution while flushing the stream to the client;
+            otherwise, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="responseEntity"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.CopyFrom(WebSocketSharp.Net.HttpListenerResponse)">
+            <summary>
+            Copies some properties from the specified <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> to
+            this response.
+            </summary>
+            <param name="templateResponse">
+            A <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> to copy.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="templateResponse"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.Redirect(System.String)">
+            <summary>
+            Configures the response to redirect the client's request to
+            the specified <paramref name="url"/>.
+            </summary>
+            <remarks>
+            This method sets the <see cref="P:WebSocketSharp.Net.HttpListenerResponse.RedirectLocation"/> property to
+            <paramref name="url"/>, the <see cref="P:WebSocketSharp.Net.HttpListenerResponse.StatusCode"/> property to
+            <c>302</c>, and the <see cref="P:WebSocketSharp.Net.HttpListenerResponse.StatusDescription"/> property to
+            <c>"Found"</c>.
+            </remarks>
+            <param name="url">
+            A <see cref="T:System.String"/> that represents the URL to redirect the client's request to.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="url"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="url"/> isn't an absolute URL.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The response has already been sent.
+            </exception>
+            <exception cref="T:System.ObjectDisposedException">
+            This object is closed.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.SetCookie(WebSocketSharp.Net.Cookie)">
+            <summary>
+            Adds or updates a <paramref name="cookie"/> in the cookies sent with the response.
+            </summary>
+            <param name="cookie">
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> to set.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="cookie"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="cookie"/> already exists in the cookies and couldn't be replaced.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpListenerResponse.System#IDisposable#Dispose">
+            <summary>
+            Releases all resources used by the <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/>.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpRequestHeader">
+            <summary>
+            Contains the HTTP headers that may be specified in a client request.
+            </summary>
+            <remarks>
+            The HttpRequestHeader enumeration contains the HTTP request headers defined in
+            <see href="http://tools.ietf.org/html/rfc2616#section-14">RFC 2616</see> for the HTTP/1.1 and
+            <see href="http://tools.ietf.org/html/rfc6455#section-11.3">RFC 6455</see> for the WebSocket.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.CacheControl">
+            <summary>
+            Indicates the Cache-Control header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Connection">
+            <summary>
+            Indicates the Connection header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Date">
+            <summary>
+            Indicates the Date header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.KeepAlive">
+            <summary>
+            Indicates the Keep-Alive header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Pragma">
+            <summary>
+            Indicates the Pragma header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Trailer">
+            <summary>
+            Indicates the Trailer header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.TransferEncoding">
+            <summary>
+            Indicates the Transfer-Encoding header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Upgrade">
+            <summary>
+            Indicates the Upgrade header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Via">
+            <summary>
+            Indicates the Via header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Warning">
+            <summary>
+            Indicates the Warning header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Allow">
+            <summary>
+            Indicates the Allow header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentLength">
+            <summary>
+            Indicates the Content-Length header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentType">
+            <summary>
+            Indicates the Content-Type header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentEncoding">
+            <summary>
+            Indicates the Content-Encoding header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentLanguage">
+            <summary>
+            Indicates the Content-Language header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentLocation">
+            <summary>
+            Indicates the Content-Location header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentMd5">
+            <summary>
+            Indicates the Content-MD5 header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ContentRange">
+            <summary>
+            Indicates the Content-Range header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Expires">
+            <summary>
+            Indicates the Expires header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.LastModified">
+            <summary>
+            Indicates the Last-Modified header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Accept">
+            <summary>
+            Indicates the Accept header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.AcceptCharset">
+            <summary>
+            Indicates the Accept-Charset header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.AcceptEncoding">
+            <summary>
+            Indicates the Accept-Encoding header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.AcceptLanguage">
+            <summary>
+            Indicates the Accept-Language header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Authorization">
+            <summary>
+            Indicates the Authorization header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Cookie">
+            <summary>
+            Indicates the Cookie header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Expect">
+            <summary>
+            Indicates the Expect header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.From">
+            <summary>
+            Indicates the From header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Host">
+            <summary>
+            Indicates the Host header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.IfMatch">
+            <summary>
+            Indicates the If-Match header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.IfModifiedSince">
+            <summary>
+            Indicates the If-Modified-Since header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.IfNoneMatch">
+            <summary>
+            Indicates the If-None-Match header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.IfRange">
+            <summary>
+            Indicates the If-Range header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.IfUnmodifiedSince">
+            <summary>
+            Indicates the If-Unmodified-Since header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.MaxForwards">
+            <summary>
+            Indicates the Max-Forwards header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.ProxyAuthorization">
+            <summary>
+            Indicates the Proxy-Authorization header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Referer">
+            <summary>
+            Indicates the Referer header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Range">
+            <summary>
+            Indicates the Range header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Te">
+            <summary>
+            Indicates the TE header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.Translate">
+            <summary>
+            Indicates the Translate header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.UserAgent">
+            <summary>
+            Indicates the User-Agent header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.SecWebSocketKey">
+            <summary>
+            Indicates the Sec-WebSocket-Key header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.SecWebSocketExtensions">
+            <summary>
+            Indicates the Sec-WebSocket-Extensions header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.SecWebSocketProtocol">
+            <summary>
+            Indicates the Sec-WebSocket-Protocol header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpRequestHeader.SecWebSocketVersion">
+            <summary>
+            Indicates the Sec-WebSocket-Version header.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpResponseHeader">
+            <summary>
+            Contains the HTTP headers that can be specified in a server response.
+            </summary>
+            <remarks>
+            The HttpResponseHeader enumeration contains the HTTP response headers defined in
+            <see href="http://tools.ietf.org/html/rfc2616#section-14">RFC 2616</see> for the HTTP/1.1 and
+            <see href="http://tools.ietf.org/html/rfc6455#section-11.3">RFC 6455</see> for the WebSocket.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.CacheControl">
+            <summary>
+            Indicates the Cache-Control header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Connection">
+            <summary>
+            Indicates the Connection header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Date">
+            <summary>
+            Indicates the Date header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.KeepAlive">
+            <summary>
+            Indicates the Keep-Alive header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Pragma">
+            <summary>
+            Indicates the Pragma header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Trailer">
+            <summary>
+            Indicates the Trailer header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.TransferEncoding">
+            <summary>
+            Indicates the Transfer-Encoding header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Upgrade">
+            <summary>
+            Indicates the Upgrade header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Via">
+            <summary>
+            Indicates the Via header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Warning">
+            <summary>
+            Indicates the Warning header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Allow">
+            <summary>
+            Indicates the Allow header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentLength">
+            <summary>
+            Indicates the Content-Length header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentType">
+            <summary>
+            Indicates the Content-Type header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentEncoding">
+            <summary>
+            Indicates the Content-Encoding header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentLanguage">
+            <summary>
+            Indicates the Content-Language header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentLocation">
+            <summary>
+            Indicates the Content-Location header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentMd5">
+            <summary>
+            Indicates the Content-MD5 header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ContentRange">
+            <summary>
+            Indicates the Content-Range header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Expires">
+            <summary>
+            Indicates the Expires header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.LastModified">
+            <summary>
+            Indicates the Last-Modified header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.AcceptRanges">
+            <summary>
+            Indicates the Accept-Ranges header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Age">
+            <summary>
+            Indicates the Age header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ETag">
+            <summary>
+            Indicates the ETag header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Location">
+            <summary>
+            Indicates the Location header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.ProxyAuthenticate">
+            <summary>
+            Indicates the Proxy-Authenticate header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.RetryAfter">
+            <summary>
+            Indicates the Retry-After header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Server">
+            <summary>
+            Indicates the Server header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.SetCookie">
+            <summary>
+            Indicates the Set-Cookie header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.Vary">
+            <summary>
+            Indicates the Vary header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.WwwAuthenticate">
+            <summary>
+            Indicates the WWW-Authenticate header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.SecWebSocketExtensions">
+            <summary>
+            Indicates the Sec-WebSocket-Extensions header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.SecWebSocketAccept">
+            <summary>
+            Indicates the Sec-WebSocket-Accept header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.SecWebSocketProtocol">
+            <summary>
+            Indicates the Sec-WebSocket-Protocol header.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpResponseHeader.SecWebSocketVersion">
+            <summary>
+            Indicates the Sec-WebSocket-Version header.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpStatusCode">
+            <summary>
+            Contains the values of the HTTP status codes.
+            </summary>
+            <remarks>
+            The HttpStatusCode enumeration contains the values of the HTTP status codes defined in
+            <see href="http://tools.ietf.org/html/rfc2616#section-10">RFC 2616</see> for the HTTP/1.1.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Continue">
+            <summary>
+            Equivalent to status code 100.
+            Indicates that the client should continue with its request.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.SwitchingProtocols">
+            <summary>
+            Equivalent to status code 101.
+            Indicates that the server is switching the HTTP version or protocol on the connection.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.OK">
+            <summary>
+            Equivalent to status code 200.
+            Indicates that the client's request has succeeded.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Created">
+            <summary>
+            Equivalent to status code 201.
+            Indicates that the client's request has been fulfilled and resulted in a new resource being
+            created.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Accepted">
+            <summary>
+            Equivalent to status code 202.
+            Indicates that the client's request has been accepted for processing, but the processing
+            hasn't been completed.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NonAuthoritativeInformation">
+            <summary>
+            Equivalent to status code 203.
+            Indicates that the returned metainformation is from a local or a third-party copy instead of
+            the origin server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NoContent">
+            <summary>
+            Equivalent to status code 204.
+            Indicates that the server has fulfilled the client's request but doesn't need to return
+            an entity-body.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.ResetContent">
+            <summary>
+            Equivalent to status code 205.
+            Indicates that the server has fulfilled the client's request, and the user agent should
+            reset the document view which caused the request to be sent.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.PartialContent">
+            <summary>
+            Equivalent to status code 206.
+            Indicates that the server has fulfilled the partial GET request for the resource.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.MultipleChoices">
+            <summary>
+              <para>
+              Equivalent to status code 300.
+              Indicates that the requested resource corresponds to any of multiple representations.
+              </para>
+              <para>
+              MultipleChoices is a synonym for Ambiguous.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Ambiguous">
+            <summary>
+              <para>
+              Equivalent to status code 300.
+              Indicates that the requested resource corresponds to any of multiple representations.
+              </para>
+              <para>
+              Ambiguous is a synonym for MultipleChoices.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.MovedPermanently">
+            <summary>
+              <para>
+              Equivalent to status code 301.
+              Indicates that the requested resource has been assigned a new permanent URI and
+              any future references to this resource should use one of the returned URIs.
+              </para>
+              <para>
+              MovedPermanently is a synonym for Moved.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Moved">
+            <summary>
+              <para>
+              Equivalent to status code 301.
+              Indicates that the requested resource has been assigned a new permanent URI and
+              any future references to this resource should use one of the returned URIs.
+              </para>
+              <para>
+              Moved is a synonym for MovedPermanently.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Found">
+            <summary>
+              <para>
+              Equivalent to status code 302.
+              Indicates that the requested resource is located temporarily under a different URI.
+              </para>
+              <para>
+              Found is a synonym for Redirect.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Redirect">
+            <summary>
+              <para>
+              Equivalent to status code 302.
+              Indicates that the requested resource is located temporarily under a different URI.
+              </para>
+              <para>
+              Redirect is a synonym for Found.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.SeeOther">
+            <summary>
+              <para>
+              Equivalent to status code 303.
+              Indicates that the response to the request can be found under a different URI and
+              should be retrieved using a GET method on that resource.
+              </para>
+              <para>
+              SeeOther is a synonym for RedirectMethod.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RedirectMethod">
+            <summary>
+              <para>
+              Equivalent to status code 303.
+              Indicates that the response to the request can be found under a different URI and
+              should be retrieved using a GET method on that resource.
+              </para>
+              <para>
+              RedirectMethod is a synonym for SeeOther.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NotModified">
+            <summary>
+            Equivalent to status code 304.
+            Indicates that the client has performed a conditional GET request and access is allowed,
+            but the document hasn't been modified.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.UseProxy">
+            <summary>
+            Equivalent to status code 305.
+            Indicates that the requested resource must be accessed through the proxy given by
+            the Location field.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Unused">
+            <summary>
+            Equivalent to status code 306.
+            This status code was used in a previous version of the specification, is no longer used,
+            and is reserved for future use.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.TemporaryRedirect">
+            <summary>
+              <para>
+              Equivalent to status code 307.
+              Indicates that the requested resource is located temporarily under a different URI.
+              </para>
+              <para>
+              TemporaryRedirect is a synonym for RedirectKeepVerb.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RedirectKeepVerb">
+            <summary>
+              <para>
+              Equivalent to status code 307.
+              Indicates that the requested resource is located temporarily under a different URI.
+              </para>
+              <para>
+              RedirectKeepVerb is a synonym for TemporaryRedirect.
+              </para>
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.BadRequest">
+            <summary>
+            Equivalent to status code 400.
+            Indicates that the client's request couldn't be understood by the server due to
+            malformed syntax.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Unauthorized">
+            <summary>
+            Equivalent to status code 401.
+            Indicates that the client's request requires user authentication.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.PaymentRequired">
+            <summary>
+            Equivalent to status code 402.
+            This status code is reserved for future use.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Forbidden">
+            <summary>
+            Equivalent to status code 403.
+            Indicates that the server understood the client's request but is refusing to fulfill it.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NotFound">
+            <summary>
+            Equivalent to status code 404.
+            Indicates that the server hasn't found anything matching the request URI.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.MethodNotAllowed">
+            <summary>
+            Equivalent to status code 405.
+            Indicates that the method specified in the request line isn't allowed for the resource
+            identified by the request URI.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NotAcceptable">
+            <summary>
+            Equivalent to status code 406.
+            Indicates that the server doesn't have the appropriate resource to respond to the Accept
+            headers in the client's request.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.ProxyAuthenticationRequired">
+            <summary>
+            Equivalent to status code 407.
+            Indicates that the client must first authenticate itself with the proxy.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RequestTimeout">
+            <summary>
+            Equivalent to status code 408.
+            Indicates that the client didn't produce a request within the time that the server was
+            prepared to wait.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Conflict">
+            <summary>
+            Equivalent to status code 409.
+            Indicates that the client's request couldn't be completed due to a conflict on the server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.Gone">
+            <summary>
+            Equivalent to status code 410.
+            Indicates that the requested resource is no longer available at the server and
+            no forwarding address is known.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.LengthRequired">
+            <summary>
+            Equivalent to status code 411.
+            Indicates that the server refuses to accept the client's request without a defined
+            Content-Length.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.PreconditionFailed">
+            <summary>
+            Equivalent to status code 412.
+            Indicates that the precondition given in one or more of the request headers evaluated to
+            false when it was tested on the server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RequestEntityTooLarge">
+            <summary>
+            Equivalent to status code 413.
+            Indicates that the entity of the client's request is larger than the server is willing or
+            able to process.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RequestUriTooLong">
+            <summary>
+            Equivalent to status code 414.
+            Indicates that the request URI is longer than the server is willing to interpret.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.UnsupportedMediaType">
+            <summary>
+            Equivalent to status code 415.
+            Indicates that the entity of the client's request is in a format not supported by
+            the requested resource for the requested method.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.RequestedRangeNotSatisfiable">
+            <summary>
+            Equivalent to status code 416.
+            Indicates that none of the range specifier values in a Range request header overlap
+            the current extent of the selected resource.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.ExpectationFailed">
+            <summary>
+            Equivalent to status code 417.
+            Indicates that the expectation given in an Expect request header couldn't be met by
+            the server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.InternalServerError">
+            <summary>
+            Equivalent to status code 500.
+            Indicates that the server encountered an unexpected condition which prevented it from
+            fulfilling the client's request.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.NotImplemented">
+            <summary>
+            Equivalent to status code 501.
+            Indicates that the server doesn't support the functionality required to fulfill the client's
+            request.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.BadGateway">
+            <summary>
+            Equivalent to status code 502.
+            Indicates that a gateway or proxy server received an invalid response from the upstream
+            server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.ServiceUnavailable">
+            <summary>
+            Equivalent to status code 503.
+            Indicates that the server is currently unable to handle the client's request due to
+            a temporary overloading or maintenance of the server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.GatewayTimeout">
+            <summary>
+            Equivalent to status code 504.
+            Indicates that a gateway or proxy server didn't receive a timely response from the upstream
+            server or some other auxiliary server.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpStatusCode.HttpVersionNotSupported">
+            <summary>
+            Equivalent to status code 505.
+            Indicates that the server doesn't support the HTTP version used in the client's request.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpUtility.HtmlDecode(System.String)">
+            <summary>
+            Decodes an HTML-encoded <see cref="T:System.String"/> and returns the decoded <see cref="T:System.String"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the decoded string.
+            </returns>
+            <param name="s">
+            A <see cref="T:System.String"/> to decode.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpUtility.HtmlDecode(System.String,System.IO.TextWriter)">
+            <summary>
+            Decodes an HTML-encoded <see cref="T:System.String"/> and sends the decoded <see cref="T:System.String"/>
+            to the specified <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+            <param name="s">
+            A <see cref="T:System.String"/> to decode.
+            </param>
+            <param name="output">
+            A <see cref="T:System.IO.TextWriter"/> that receives the decoded string.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpUtility.HtmlEncode(System.String)">
+            <summary>
+            HTML-encodes a <see cref="T:System.String"/> and returns the encoded <see cref="T:System.String"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the encoded string.
+            </returns>
+            <param name="s">
+            A <see cref="T:System.String"/> to encode.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpUtility.HtmlEncode(System.String,System.IO.TextWriter)">
+            <summary>
+            HTML-encodes a <see cref="T:System.String"/> and sends the encoded <see cref="T:System.String"/>
+            to the specified <see cref="T:System.IO.TextWriter"/>.
+            </summary>
+            <param name="s">
+            A <see cref="T:System.String"/> to encode.
+            </param>
+            <param name="output">
+            A <see cref="T:System.IO.TextWriter"/> that receives the encoded string.
+            </param>
+        </member>
+        <member name="T:WebSocketSharp.Net.HttpVersion">
+            <summary>
+            Provides the HTTP version numbers.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpVersion.Version10">
+            <summary>
+            Provides a <see cref="T:System.Version"/> instance for the HTTP/1.0.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Net.HttpVersion.Version11">
+            <summary>
+            Provides a <see cref="T:System.Version"/> instance for the HTTP/1.1.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.HttpVersion.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.HttpVersion"/> class.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Net.NetworkCredential">
+            <summary>
+            Provides the credentials for the password-based authentication.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.NetworkCredential.#ctor(System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.NetworkCredential"/> class with
+            the specified <paramref name="username"/> and <paramref name="password"/>.
+            </summary>
+            <param name="username">
+            A <see cref="T:System.String"/> that represents the username associated with
+            the credentials.
+            </param>
+            <param name="password">
+            A <see cref="T:System.String"/> that represents the password for the username
+            associated with the credentials.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="username"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="username"/> is empty.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.NetworkCredential.#ctor(System.String,System.String,System.String,System.String[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.NetworkCredential"/> class with
+            the specified <paramref name="username"/>, <paramref name="password"/>,
+            <paramref name="domain"/> and <paramref name="roles"/>.
+            </summary>
+            <param name="username">
+            A <see cref="T:System.String"/> that represents the username associated with
+            the credentials.
+            </param>
+            <param name="password">
+            A <see cref="T:System.String"/> that represents the password for the username
+            associated with the credentials.
+            </param>
+            <param name="domain">
+            A <see cref="T:System.String"/> that represents the domain associated with
+            the credentials.
+            </param>
+            <param name="roles">
+            An array of <see cref="T:System.String"/> that represents the roles
+            associated with the credentials if any.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="username"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="username"/> is empty.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.NetworkCredential.Domain">
+            <summary>
+            Gets the domain associated with the credentials.
+            </summary>
+            <remarks>
+            This property returns an empty string if the domain was
+            initialized with <see langword="null"/>.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the domain name
+            to which the username belongs.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.NetworkCredential.Password">
+            <summary>
+            Gets the password for the username associated with the credentials.
+            </summary>
+            <remarks>
+            This property returns an empty string if the password was
+            initialized with <see langword="null"/>.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the password.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.NetworkCredential.Roles">
+            <summary>
+            Gets the roles associated with the credentials.
+            </summary>
+            <remarks>
+            This property returns an empty array if the roles were
+            initialized with <see langword="null"/>.
+            </remarks>
+            <value>
+            An array of <see cref="T:System.String"/> that represents the role names
+            to which the username belongs.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.NetworkCredential.Username">
+            <summary>
+            Gets the username associated with the credentials.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the username.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.ServerSslConfiguration">
+            <summary>
+            Stores the parameters for the <see cref="T:System.Net.Security.SslStream"/> used by servers.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.ServerSslConfiguration.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> class.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.ServerSslConfiguration.#ctor(System.Security.Cryptography.X509Certificates.X509Certificate2)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> class
+            with the specified <paramref name="serverCertificate"/>.
+            </summary>
+            <param name="serverCertificate">
+            A <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/> that represents the certificate used to
+            authenticate the server.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.ServerSslConfiguration.#ctor(WebSocketSharp.Net.ServerSslConfiguration)">
+            <summary>
+            Copies the parameters from the specified <paramref name="configuration"/> to
+            a new instance of the <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> class.
+            </summary>
+            <param name="configuration">
+            A <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> from which to copy.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="configuration"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.ServerSslConfiguration.CheckCertificateRevocation">
+            <summary>
+            Gets or sets a value indicating whether the certificate revocation
+            list is checked during authentication.
+            </summary>
+            <value>
+              <para>
+              <c>true</c> if the certificate revocation list is checked during
+              authentication; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ServerSslConfiguration.ClientCertificateRequired">
+            <summary>
+            Gets or sets a value indicating whether the client is asked for
+            a certificate for authentication.
+            </summary>
+            <value>
+              <para>
+              <c>true</c> if the client is asked for a certificate for
+              authentication; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ServerSslConfiguration.ClientCertificateValidationCallback">
+            <summary>
+            Gets or sets the callback used to validate the certificate
+            supplied by the client.
+            </summary>
+            <remarks>
+            The certificate is valid if the callback returns <c>true</c>.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.Net.Security.RemoteCertificateValidationCallback"/> delegate that
+              invokes the method called for validating the certificate.
+              </para>
+              <para>
+              The default value is a delegate that invokes a method that
+              only returns <c>true</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ServerSslConfiguration.EnabledSslProtocols">
+            <summary>
+            Gets or sets the protocols used for authentication.
+            </summary>
+            <value>
+              <para>
+              The <see cref="T:System.Security.Authentication.SslProtocols"/> enum values that represent
+              the protocols used for authentication.
+              </para>
+              <para>
+              The default value is <see cref="F:System.Security.Authentication.SslProtocols.Default"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.ServerSslConfiguration.ServerCertificate">
+            <summary>
+            Gets or sets the certificate used to authenticate the server.
+            </summary>
+            <value>
+              <para>
+              A <see cref="T:System.Security.Cryptography.X509Certificates.X509Certificate2"/> or <see langword="null"/>
+              if not specified.
+              </para>
+              <para>
+              That instance represents an X.509 certificate.
+              </para>
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Net.WebHeaderCollection">
+            <summary>
+            Provides a collection of the HTTP headers associated with a request or response.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> class from
+            the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> and <see cref="T:System.Runtime.Serialization.StreamingContext"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that contains the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the source for the deserialization.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="serializationInfo"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            An element with the specified name isn't found in <paramref name="serializationInfo"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebHeaderCollection.AllKeys">
+            <summary>
+            Gets all header names in the collection.
+            </summary>
+            <value>
+            An array of <see cref="T:System.String"/> that contains all header names in the collection.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebHeaderCollection.Count">
+            <summary>
+            Gets the number of headers in the collection.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of headers in the collection.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebHeaderCollection.Item(WebSocketSharp.Net.HttpRequestHeader)">
+            <summary>
+            Gets or sets the specified request <paramref name="header"/> in the collection.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the request <paramref name="header"/>.
+            </value>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpRequestHeader"/> enum values, represents
+            the request header to get or set.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the request <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebHeaderCollection.Item(WebSocketSharp.Net.HttpResponseHeader)">
+            <summary>
+            Gets or sets the specified response <paramref name="header"/> in the collection.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the response <paramref name="header"/>.
+            </value>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpResponseHeader"/> enum values, represents
+            the response header to get or set.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the response <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebHeaderCollection.Keys">
+            <summary>
+            Gets a collection of header names in the collection.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameObjectCollectionBase.KeysCollection"/> that contains
+            all header names in the collection.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.AddWithoutValidate(System.String,System.String)">
+            <summary>
+            Adds a header to the collection without checking if the header is on
+            the restricted header list.
+            </summary>
+            <param name="headerName">
+            A <see cref="T:System.String"/> that represents the name of the header to add.
+            </param>
+            <param name="headerValue">
+            A <see cref="T:System.String"/> that represents the value of the header to add.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="headerName"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="headerName"/> or <paramref name="headerValue"/> contains invalid characters.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="headerValue"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the <paramref name="headerName"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Add(System.String)">
+            <summary>
+            Adds the specified <paramref name="header"/> to the collection.
+            </summary>
+            <param name="header">
+            A <see cref="T:System.String"/> that represents the header with the name and value separated by
+            a colon (<c>':'</c>).
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="header"/> is <see langword="null"/>, empty, or the name part of
+            <paramref name="header"/> is empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> doesn't contain a colon.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The name or value part of <paramref name="header"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of the value part of <paramref name="header"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Add(WebSocketSharp.Net.HttpRequestHeader,System.String)">
+            <summary>
+            Adds the specified request <paramref name="header"/> with
+            the specified <paramref name="value"/> to the collection.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpRequestHeader"/> enum values, represents
+            the request header to add.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the header to add.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the request <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Add(WebSocketSharp.Net.HttpResponseHeader,System.String)">
+            <summary>
+            Adds the specified response <paramref name="header"/> with
+            the specified <paramref name="value"/> to the collection.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpResponseHeader"/> enum values, represents
+            the response header to add.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the header to add.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the response <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Add(System.String,System.String)">
+            <summary>
+            Adds a header with the specified <paramref name="name"/> and
+            <paramref name="value"/> to the collection.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to add.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the header to add.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="name"/> or <paramref name="value"/> contains invalid characters.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="name"/> is a restricted header name.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the header <paramref name="name"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Clear">
+            <summary>
+            Removes all headers from the collection.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Get(System.Int32)">
+            <summary>
+            Get the value of the header at the specified <paramref name="index"/> in the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that receives the value of the header.
+            </returns>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index of the header to find.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is out of allowable range of indexes for the collection.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Get(System.String)">
+            <summary>
+            Get the value of the header with the specified <paramref name="name"/> in the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that receives the value of the header if found;
+            otherwise, <see langword="null"/>.
+            </returns>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.GetEnumerator">
+            <summary>
+            Gets the enumerator used to iterate through the collection.
+            </summary>
+            <returns>
+            An <see cref="T:System.Collections.IEnumerator"/> instance used to iterate through the collection.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.GetKey(System.Int32)">
+            <summary>
+            Get the name of the header at the specified <paramref name="index"/> in the collection.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that receives the header name.
+            </returns>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index of the header to find.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is out of allowable range of indexes for the collection.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.GetValues(System.Int32)">
+            <summary>
+            Gets an array of header values stored in the specified <paramref name="index"/> position of
+            the collection.
+            </summary>
+            <returns>
+            An array of <see cref="T:System.String"/> that receives the header values if found;
+            otherwise, <see langword="null"/>.
+            </returns>
+            <param name="index">
+            An <see cref="T:System.Int32"/> that represents the zero-based index of the header to find.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is out of allowable range of indexes for the collection.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.GetValues(System.String)">
+            <summary>
+            Gets an array of header values stored in the specified <paramref name="header"/>.
+            </summary>
+            <returns>
+            An array of <see cref="T:System.String"/> that receives the header values if found;
+            otherwise, <see langword="null"/>.
+            </returns>
+            <param name="header">
+            A <see cref="T:System.String"/> that represents the name of the header to find.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Populates the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize
+            the <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the destination for the serialization.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="serializationInfo"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.IsRestricted(System.String)">
+            <summary>
+            Determines whether the specified header can be set for the request.
+            </summary>
+            <returns>
+            <c>true</c> if the header is restricted; otherwise, <c>false</c>.
+            </returns>
+            <param name="headerName">
+            A <see cref="T:System.String"/> that represents the name of the header to test.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="headerName"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="headerName"/> contains invalid characters.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.IsRestricted(System.String,System.Boolean)">
+            <summary>
+            Determines whether the specified header can be set for the request or the response.
+            </summary>
+            <returns>
+            <c>true</c> if the header is restricted; otherwise, <c>false</c>.
+            </returns>
+            <param name="headerName">
+            A <see cref="T:System.String"/> that represents the name of the header to test.
+            </param>
+            <param name="response">
+            <c>true</c> if does the test for the response; for the request, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="headerName"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="headerName"/> contains invalid characters.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.OnDeserialization(System.Object)">
+            <summary>
+            Implements the <see cref="T:System.Runtime.Serialization.ISerializable"/> interface and raises the deserialization event
+            when the deserialization is complete.
+            </summary>
+            <param name="sender">
+            An <see cref="T:System.Object"/> that represents the source of the deserialization event.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Remove(WebSocketSharp.Net.HttpRequestHeader)">
+            <summary>
+            Removes the specified request <paramref name="header"/> from the collection.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpRequestHeader"/> enum values, represents
+            the request header to remove.
+            </param>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="header"/> is a restricted header.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the request <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Remove(WebSocketSharp.Net.HttpResponseHeader)">
+            <summary>
+            Removes the specified response <paramref name="header"/> from the collection.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpResponseHeader"/> enum values, represents
+            the response header to remove.
+            </param>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="header"/> is a restricted header.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the response <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Remove(System.String)">
+            <summary>
+            Removes the specified header from the collection.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to remove.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="name"/> contains invalid characters.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="name"/> is a restricted header name.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the header <paramref name="name"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Set(WebSocketSharp.Net.HttpRequestHeader,System.String)">
+            <summary>
+            Sets the specified request <paramref name="header"/> to the specified value.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpRequestHeader"/> enum values, represents
+            the request header to set.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the request header to set.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the request <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Set(WebSocketSharp.Net.HttpResponseHeader,System.String)">
+            <summary>
+            Sets the specified response <paramref name="header"/> to the specified value.
+            </summary>
+            <param name="header">
+            One of the <see cref="T:WebSocketSharp.Net.HttpResponseHeader"/> enum values, represents
+            the response header to set.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the response header to set.
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="header"/> is a restricted header.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="value"/> contains invalid characters.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the response <paramref name="header"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.Set(System.String,System.String)">
+            <summary>
+            Sets the specified header to the specified value.
+            </summary>
+            <param name="name">
+            A <see cref="T:System.String"/> that represents the name of the header to set.
+            </param>
+            <param name="value">
+            A <see cref="T:System.String"/> that represents the value of the header to set.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="name"/> is <see langword="null"/> or empty.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="name"/> or <paramref name="value"/> contains invalid characters.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="name"/> is a restricted header name.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The length of <paramref name="value"/> is greater than 65,535 characters.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> instance doesn't allow
+            the header <paramref name="name"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.ToByteArray">
+            <summary>
+            Converts the current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/> to an array of <see cref="T:System.Byte"/>.
+            </summary>
+            <returns>
+            An array of <see cref="T:System.Byte"/> that receives the converted current
+            <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents the current
+            <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents the current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebHeaderCollection.System#Runtime#Serialization#ISerializable#GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
+            <summary>
+            Populates the specified <see cref="T:System.Runtime.Serialization.SerializationInfo"/> with the data needed to serialize
+            the current <see cref="T:WebSocketSharp.Net.WebHeaderCollection"/>.
+            </summary>
+            <param name="serializationInfo">
+            A <see cref="T:System.Runtime.Serialization.SerializationInfo"/> that holds the serialized object data.
+            </param>
+            <param name="streamingContext">
+            A <see cref="T:System.Runtime.Serialization.StreamingContext"/> that specifies the destination for the serialization.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="serializationInfo"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext">
+            <summary>
+            Provides the properties used to access the information in
+            a WebSocket handshake request received by the <see cref="T:WebSocketSharp.Net.HttpListener"/>.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.CookieCollection">
+            <summary>
+            Gets the HTTP cookies included in the request.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Headers">
+            <summary>
+            Gets the HTTP headers included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the headers.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Host">
+            <summary>
+            Gets the value of the Host header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Host header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsAuthenticated">
+            <summary>
+            Gets a value indicating whether the client is authenticated.
+            </summary>
+            <value>
+            <c>true</c> if the client is authenticated; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsLocal">
+            <summary>
+            Gets a value indicating whether the client connected from the local computer.
+            </summary>
+            <value>
+            <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsSecureConnection">
+            <summary>
+            Gets a value indicating whether the WebSocket connection is secured.
+            </summary>
+            <value>
+            <c>true</c> if the connection is secured; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsWebSocketRequest">
+            <summary>
+            Gets a value indicating whether the request is a WebSocket handshake request.
+            </summary>
+            <value>
+            <c>true</c> if the request is a WebSocket handshake request; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin">
+            <summary>
+            Gets the value of the Origin header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Origin header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString">
+            <summary>
+            Gets the query string included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the query string parameters.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri">
+            <summary>
+            Gets the URI requested by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the requested URI.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.SecWebSocketKey">
+            <summary>
+            Gets the value of the Sec-WebSocket-Key header included in the request.
+            </summary>
+            <remarks>
+            This property provides a part of the information used by the server to prove that
+            it received a valid WebSocket handshake request.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Key header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.SecWebSocketProtocols">
+            <summary>
+            Gets the values of the Sec-WebSocket-Protocol header included in the request.
+            </summary>
+            <remarks>
+            This property represents the subprotocols requested by the client.
+            </remarks>
+            <value>
+            An <see cref="T:System.Collections.Generic.IEnumerable{string}"/> instance that provides
+            an enumerator which supports the iteration over the values of the Sec-WebSocket-Protocol
+            header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.SecWebSocketVersion">
+            <summary>
+            Gets the value of the Sec-WebSocket-Version header included in the request.
+            </summary>
+            <remarks>
+            This property represents the WebSocket protocol version.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Version header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.ServerEndPoint">
+            <summary>
+            Gets the server endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the server endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.User">
+            <summary>
+            Gets the client information (identity, authentication, and security roles).
+            </summary>
+            <value>
+            A <see cref="T:System.Security.Principal.IPrincipal"/> instance that represents the client information.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.UserEndPoint">
+            <summary>
+            Gets the client endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the client endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.WebSocket">
+            <summary>
+            Gets the <see cref="T:WebSocketSharp.WebSocket"/> instance used for
+            two-way communication between client and server.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.WebSocket"/>.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents
+            the current <see cref="T:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents
+            the current <see cref="T:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext"/>.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext">
+            <summary>
+            Provides the properties used to access the information in
+            a WebSocket handshake request received by the <see cref="T:System.Net.Sockets.TcpListener"/>.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.CookieCollection">
+            <summary>
+            Gets the HTTP cookies included in the request.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Headers">
+            <summary>
+            Gets the HTTP headers included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the headers.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Host">
+            <summary>
+            Gets the value of the Host header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Host header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsAuthenticated">
+            <summary>
+            Gets a value indicating whether the client is authenticated.
+            </summary>
+            <value>
+            <c>true</c> if the client is authenticated; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsLocal">
+            <summary>
+            Gets a value indicating whether the client connected from the local computer.
+            </summary>
+            <value>
+            <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsSecureConnection">
+            <summary>
+            Gets a value indicating whether the WebSocket connection is secured.
+            </summary>
+            <value>
+            <c>true</c> if the connection is secured; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsWebSocketRequest">
+            <summary>
+            Gets a value indicating whether the request is a WebSocket handshake request.
+            </summary>
+            <value>
+            <c>true</c> if the request is a WebSocket handshake request; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin">
+            <summary>
+            Gets the value of the Origin header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Origin header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString">
+            <summary>
+            Gets the query string included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the query string parameters.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri">
+            <summary>
+            Gets the URI requested by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the requested URI.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.SecWebSocketKey">
+            <summary>
+            Gets the value of the Sec-WebSocket-Key header included in the request.
+            </summary>
+            <remarks>
+            This property provides a part of the information used by the server to prove that
+            it received a valid WebSocket handshake request.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Key header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.SecWebSocketProtocols">
+            <summary>
+            Gets the values of the Sec-WebSocket-Protocol header included in the request.
+            </summary>
+            <remarks>
+            This property represents the subprotocols requested by the client.
+            </remarks>
+            <value>
+            An <see cref="T:System.Collections.Generic.IEnumerable{string}"/> instance that provides
+            an enumerator which supports the iteration over the values of the Sec-WebSocket-Protocol
+            header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.SecWebSocketVersion">
+            <summary>
+            Gets the value of the Sec-WebSocket-Version header included in the request.
+            </summary>
+            <remarks>
+            This property represents the WebSocket protocol version.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Version header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.ServerEndPoint">
+            <summary>
+            Gets the server endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the server endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.User">
+            <summary>
+            Gets the client information (identity, authentication, and security roles).
+            </summary>
+            <value>
+            A <see cref="T:System.Security.Principal.IPrincipal"/> instance that represents the client information.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.UserEndPoint">
+            <summary>
+            Gets the client endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the client endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.WebSocket">
+            <summary>
+            Gets the <see cref="T:WebSocketSharp.WebSocket"/> instance used for
+            two-way communication between client and server.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.WebSocket"/>.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.ToString">
+            <summary>
+            Returns a <see cref="T:System.String"/> that represents
+            the current <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext"/>.
+            </summary>
+            <returns>
+            A <see cref="T:System.String"/> that represents
+            the current <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext"/>.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Net.WebSockets.WebSocketContext">
+            <summary>
+            Exposes the properties used to access the information in a WebSocket handshake request.
+            </summary>
+            <remarks>
+            This class is an abstract class.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Net.WebSockets.WebSocketContext.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.CookieCollection">
+            <summary>
+            Gets the HTTP cookies included in the request.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.CookieCollection"/> that contains the cookies.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Headers">
+            <summary>
+            Gets the HTTP headers included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the headers.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Host">
+            <summary>
+            Gets the value of the Host header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Host header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsAuthenticated">
+            <summary>
+            Gets a value indicating whether the client is authenticated.
+            </summary>
+            <value>
+            <c>true</c> if the client is authenticated; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsLocal">
+            <summary>
+            Gets a value indicating whether the client connected from the local computer.
+            </summary>
+            <value>
+            <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsSecureConnection">
+            <summary>
+            Gets a value indicating whether the WebSocket connection is secured.
+            </summary>
+            <value>
+            <c>true</c> if the connection is secured; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsWebSocketRequest">
+            <summary>
+            Gets a value indicating whether the request is a WebSocket handshake request.
+            </summary>
+            <value>
+            <c>true</c> if the request is a WebSocket handshake request; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin">
+            <summary>
+            Gets the value of the Origin header included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Origin header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">
+            <summary>
+            Gets the query string included in the request.
+            </summary>
+            <value>
+            A <see cref="T:System.Collections.Specialized.NameValueCollection"/> that contains the query string parameters.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri">
+            <summary>
+            Gets the URI requested by the client.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the requested URI.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.SecWebSocketKey">
+            <summary>
+            Gets the value of the Sec-WebSocket-Key header included in the request.
+            </summary>
+            <remarks>
+            This property provides a part of the information used by the server to prove that
+            it received a valid WebSocket handshake request.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Key header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.SecWebSocketProtocols">
+            <summary>
+            Gets the values of the Sec-WebSocket-Protocol header included in the request.
+            </summary>
+            <remarks>
+            This property represents the subprotocols requested by the client.
+            </remarks>
+            <value>
+            An <see cref="T:System.Collections.Generic.IEnumerable{string}"/> instance that provides
+            an enumerator which supports the iteration over the values of the Sec-WebSocket-Protocol
+            header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.SecWebSocketVersion">
+            <summary>
+            Gets the value of the Sec-WebSocket-Version header included in the request.
+            </summary>
+            <remarks>
+            This property represents the WebSocket protocol version.
+            </remarks>
+            <value>
+            A <see cref="T:System.String"/> that represents the value of the Sec-WebSocket-Version header.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.ServerEndPoint">
+            <summary>
+            Gets the server endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the server endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.User">
+            <summary>
+            Gets the client information (identity, authentication, and security roles).
+            </summary>
+            <value>
+            A <see cref="T:System.Security.Principal.IPrincipal"/> instance that represents the client information.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.UserEndPoint">
+            <summary>
+            Gets the client endpoint as an IP address and a port number.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPEndPoint"/> that represents the client endpoint.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.WebSocket">
+            <summary>
+            Gets the <see cref="T:WebSocketSharp.WebSocket"/> instance used for
+            two-way communication between client and server.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.WebSocket"/>.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Opcode">
+            <summary>
+            Indicates the WebSocket frame type.
+            </summary>
+            <remarks>
+            The values of this enumeration are defined in
+            <see href="http://tools.ietf.org/html/rfc6455#section-5.2">
+            Section 5.2</see> of RFC 6455.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Cont">
+            <summary>
+            Equivalent to numeric value 0. Indicates continuation frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Text">
+            <summary>
+            Equivalent to numeric value 1. Indicates text frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Binary">
+            <summary>
+            Equivalent to numeric value 2. Indicates binary frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Close">
+            <summary>
+            Equivalent to numeric value 8. Indicates connection close frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Ping">
+            <summary>
+            Equivalent to numeric value 9. Indicates ping frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Opcode.Pong">
+            <summary>
+            Equivalent to numeric value 10. Indicates pong frame.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.PayloadData.Empty">
+            <summary>
+            Represents the empty payload data.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.PayloadData.MaxLength">
+            <summary>
+            Represents the allowable max length.
+            </summary>
+            <remarks>
+              <para>
+              A <see cref="T:WebSocketSharp.WebSocketException"/> will occur if the payload data length is
+              greater than the value of this field.
+              </para>
+              <para>
+              If you would like to change the value, you must set it to a value between
+              <c>WebSocket.FragmentLength</c> and <c>Int64.MaxValue</c> inclusive.
+              </para>
+            </remarks>
+        </member>
+        <member name="T:WebSocketSharp.Rsv">
+            <summary>
+            Indicates whether each RSV (RSV1, RSV2, and RSV3) of a WebSocket frame is non-zero.
+            </summary>
+            <remarks>
+            The values of this enumeration are defined in
+            <see href="http://tools.ietf.org/html/rfc6455#section-5.2">Section 5.2</see> of RFC 6455.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.Rsv.Off">
+            <summary>
+            Equivalent to numeric value 0. Indicates zero.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.Rsv.On">
+            <summary>
+            Equivalent to numeric value 1. Indicates non-zero.
+            </summary>
+        </member>
+        <member name="T:WebSocketSharp.Server.HttpRequestEventArgs">
+            <summary>
+            Represents the event data for the HTTP request events of
+            the <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </summary>
+            <remarks>
+              <para>
+              An HTTP request event occurs when the <see cref="T:WebSocketSharp.Server.HttpServer"/>
+              receives an HTTP request.
+              </para>
+              <para>
+              You should access the <see cref="P:WebSocketSharp.Server.HttpRequestEventArgs.Request"/> property if you would
+              like to get the request data sent from a client.
+              </para>
+              <para>
+              And you should access the <see cref="P:WebSocketSharp.Server.HttpRequestEventArgs.Response"/> property if you would
+              like to get the response data to return to the client.
+              </para>
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpRequestEventArgs.Request">
+            <summary>
+            Gets the request data sent from a client.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerRequest"/> that provides the methods and
+            properties for the request data.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpRequestEventArgs.Response">
+            <summary>
+            Gets the response data to return to the client.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.HttpListenerResponse"/> that provides the methods and
+            properties for the response data.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpRequestEventArgs.User">
+            <summary>
+            Gets the information for the client.
+            </summary>
+            <value>
+              <para>
+              A <see cref="T:System.Security.Principal.IPrincipal"/> instance or <see langword="null"/>
+              if not authenticated.
+              </para>
+              <para>
+              That instance describes the identity, authentication scheme,
+              and security roles for the client.
+              </para>
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpRequestEventArgs.ReadFile(System.String)">
+            <summary>
+            Reads the specified file from the document folder of
+            the <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </summary>
+            <returns>
+              <para>
+              An array of <see cref="T:System.Byte"/> or <see langword="null"/>
+              if it fails.
+              </para>
+              <para>
+              That array receives the contents of the file.
+              </para>
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents a virtual path to
+            find the file from the document folder.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> contains "..".
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpRequestEventArgs.TryReadFile(System.String,System.Byte[]@)">
+            <summary>
+            Tries to read the specified file from the document folder of
+            the <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </summary>
+            <returns>
+            <c>true</c> if it succeeds to read; otherwise, <c>false</c>.
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents a virtual path to
+            find the file from the document folder.
+            </param>
+            <param name="contents">
+              <para>
+              When this method returns, an array of <see cref="T:System.Byte"/> or
+              <see langword="null"/> if it fails.
+              </para>
+              <para>
+              That array receives the contents of the file.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> contains "..".
+              </para>
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Server.HttpServer">
+            <summary>
+            Provides a simple HTTP server that allows to accept
+            WebSocket handshake requests.
+            </summary>
+            <remarks>
+            This class can provide multiple WebSocket services.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class.
+            </summary>
+            <remarks>
+            The new instance listens for incoming requests on
+            <see cref="F:System.Net.IPAddress.Any"/> and port 80.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class with
+            the specified <paramref name="port"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming requests on
+              <see cref="F:System.Net.IPAddress.Any"/> and <paramref name="port"/>.
+              </para>
+              <para>
+              It provides secure connections if <paramref name="port"/> is 443.
+              </para>
+            </remarks>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class with
+            the specified <paramref name="url"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming requests on the IP address of the
+              host of <paramref name="url"/> and the port of <paramref name="url"/>.
+              </para>
+              <para>
+              Either port 80 or 443 is used if <paramref name="url"/> includes
+              no port. Port 443 is used if the scheme of <paramref name="url"/>
+              is https; otherwise, port 80 is used.
+              </para>
+              <para>
+              The new instance provides secure connections if the scheme of
+              <paramref name="url"/> is https.
+              </para>
+            </remarks>
+            <param name="url">
+            A <see cref="T:System.String"/> that represents the HTTP URL of the server.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="url"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="url"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="url"/> is invalid.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor(System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class with
+            the specified <paramref name="port"/> and <paramref name="secure"/>.
+            </summary>
+            <remarks>
+            The new instance listens for incoming requests on
+            <see cref="F:System.Net.IPAddress.Any"/> and <paramref name="port"/>.
+            </remarks>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <param name="secure">
+            A <see cref="T:System.Boolean"/>: <c>true</c> if the new instance provides
+            secure connections; otherwise, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor(System.Net.IPAddress,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class with
+            the specified <paramref name="address"/> and <paramref name="port"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming requests on
+              <paramref name="address"/> and <paramref name="port"/>.
+              </para>
+              <para>
+              It provides secure connections if <paramref name="port"/> is 443.
+              </para>
+            </remarks>
+            <param name="address">
+            A <see cref="T:System.Net.IPAddress"/> that represents
+            the local IP address on which to listen.
+            </param>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="address"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="address"/> is not a local IP address.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.#ctor(System.Net.IPAddress,System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.HttpServer"/> class with
+            the specified <paramref name="address"/>, <paramref name="port"/>,
+            and <paramref name="secure"/>.
+            </summary>
+            <remarks>
+            The new instance listens for incoming requests on
+            <paramref name="address"/> and <paramref name="port"/>.
+            </remarks>
+            <param name="address">
+            A <see cref="T:System.Net.IPAddress"/> that represents
+            the local IP address on which to listen.
+            </param>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <param name="secure">
+            A <see cref="T:System.Boolean"/>: <c>true</c> if the new instance provides
+            secure connections; otherwise, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="address"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="address"/> is not a local IP address.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.Address">
+            <summary>
+            Gets the IP address of the server.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPAddress"/> that represents the local
+            IP address on which to listen for incoming requests.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.AuthenticationSchemes">
+            <summary>
+            Gets or sets the scheme used to authenticate the clients.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already
+            started or it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              One of the <see cref="T:WebSocketSharp.Net.AuthenticationSchemes"/>
+              enum values.
+              </para>
+              <para>
+              It represents the scheme used to authenticate the clients.
+              </para>
+              <para>
+              The default value is
+              <see cref="F:WebSocketSharp.Net.AuthenticationSchemes.Anonymous"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.DocumentRootPath">
+            <summary>
+            Gets or sets the path to the document folder of the server.
+            </summary>
+            <remarks>
+              <para>
+              '/' or '\' is trimmed from the end of the value if any.
+              </para>
+              <para>
+              The set operation does nothing if the server has already
+              started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> that represents a path to the folder
+              from which to find the requested file.
+              </para>
+              <para>
+              The default value is "./Public".
+              </para>
+            </value>
+            <exception cref="T:System.ArgumentNullException">
+            The value specified for a set operation is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              The value specified for a set operation is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The value specified for a set operation is an invalid path string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The value specified for a set operation is an absolute root.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.IsListening">
+            <summary>
+            Gets a value indicating whether the server has started.
+            </summary>
+            <value>
+            <c>true</c> if the server has started; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.IsSecure">
+            <summary>
+            Gets a value indicating whether the server provides
+            secure connections.
+            </summary>
+            <value>
+            <c>true</c> if the server provides secure connections;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.KeepClean">
+            <summary>
+            Gets or sets a value indicating whether the server cleans up
+            the inactive sessions periodically.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already
+            started or it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the server cleans up the inactive sessions
+              every 60 seconds; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>true</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.Log">
+            <summary>
+            Gets the logging function for the server.
+            </summary>
+            <remarks>
+            The default logging level is <see cref="F:WebSocketSharp.LogLevel.Error"/>.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging function.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.Port">
+            <summary>
+            Gets the port of the server.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen for incoming requests.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.Realm">
+            <summary>
+            Gets or sets the realm used for authentication.
+            </summary>
+            <remarks>
+              <para>
+              "SECRET AREA" is used as the realm if the value is
+              <see langword="null"/> or an empty string.
+              </para>
+              <para>
+              The set operation does nothing if the server has
+              already started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> or <see langword="null"/> by default.
+              </para>
+              <para>
+              That string represents the name of the realm.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.ReuseAddress">
+            <summary>
+            Gets or sets a value indicating whether the server is allowed to
+            be bound to an address that is already in use.
+            </summary>
+            <remarks>
+              <para>
+              You should set this property to <c>true</c> if you would
+              like to resolve to wait for socket in TIME_WAIT state.
+              </para>
+              <para>
+              The set operation does nothing if the server has already
+              started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the server is allowed to be bound to an address
+              that is already in use; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.SslConfiguration">
+            <summary>
+            Gets the configuration for secure connections.
+            </summary>
+            <remarks>
+            This configuration will be referenced when attempts to start,
+            so it must be configured before the start method is called.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> that represents
+            the configuration used to provide secure connections.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            This instance does not provide secure connections.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.UserCredentialsFinder">
+            <summary>
+            Gets or sets the delegate used to find the credentials
+            for an identity.
+            </summary>
+            <remarks>
+              <para>
+              No credentials are found if the method invoked by
+              the delegate returns <see langword="null"/> or
+              the value is <see langword="null"/>.
+              </para>
+              <para>
+              The set operation does nothing if the server has
+              already started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <c>Func&lt;<see cref="T:System.Security.Principal.IIdentity"/>,
+              <see cref="T:WebSocketSharp.Net.NetworkCredential"/>&gt;</c> delegate or
+              <see langword="null"/> if not needed.
+              </para>
+              <para>
+              That delegate invokes the method called for finding
+              the credentials used to authenticate a client.
+              </para>
+              <para>
+              The default value is <see langword="null"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the WebSocket Ping or
+            Close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.TimeSpan"/> to wait for the response.
+              </para>
+              <para>
+              The default value is the same as 1 second.
+              </para>
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.HttpServer.WebSocketServices">
+            <summary>
+            Gets the management function for the WebSocket services
+            provided by the server.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager"/> that manages
+            the WebSocket services provided by the server.
+            </value>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnConnect">
+            <summary>
+            Occurs when the server receives an HTTP CONNECT request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnDelete">
+            <summary>
+            Occurs when the server receives an HTTP DELETE request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnGet">
+            <summary>
+            Occurs when the server receives an HTTP GET request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnHead">
+            <summary>
+            Occurs when the server receives an HTTP HEAD request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnOptions">
+            <summary>
+            Occurs when the server receives an HTTP OPTIONS request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnPatch">
+            <summary>
+            Occurs when the server receives an HTTP PATCH request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnPost">
+            <summary>
+            Occurs when the server receives an HTTP POST request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnPut">
+            <summary>
+            Occurs when the server receives an HTTP PUT request.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.Server.HttpServer.OnTrace">
+            <summary>
+            Occurs when the server receives an HTTP TRACE request.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.AddWebSocketService``1(System.String,System.Func{``0})">
+            <summary>
+            Adds a WebSocket service with the specified behavior,
+            <paramref name="path"/>, and <paramref name="creator"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <param name="creator">
+              <para>
+              A <c>Func&lt;TBehavior&gt;</c> delegate.
+              </para>
+              <para>
+              It invokes the method called for creating
+              a new session instance for the service.
+              </para>
+              <para>
+              The method must create a new instance of
+              the specified behavior class and return it.
+              </para>
+            </param>
+            <typeparam name="TBehavior">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="path"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="creator"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.AddWebSocketService``1(System.String)">
+            <summary>
+            Adds a WebSocket service with the specified behavior and
+            <paramref name="path"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <typeparam name="TBehaviorWithNew">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class and
+              must have a public parameterless constructor.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.AddWebSocketService``1(System.String,System.Action{``0})">
+            <summary>
+            Adds a WebSocket service with the specified behavior,
+            <paramref name="path"/>, and <paramref name="initializer"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <param name="initializer">
+              <para>
+              An <c>Action&lt;TBehaviorWithNew&gt;</c> delegate or
+              <see langword="null"/> if not needed.
+              </para>
+              <para>
+              That delegate invokes the method called for initializing
+              a new session instance for the service.
+              </para>
+            </param>
+            <typeparam name="TBehaviorWithNew">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class and
+              must have a public parameterless constructor.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.GetFile(System.String)">
+            <summary>
+            Gets the contents of the specified file from the document
+            folder of the server.
+            </summary>
+            <returns>
+              <para>
+              An array of <see cref="T:System.Byte"/> or <see langword="null"/>
+              if it fails.
+              </para>
+              <para>
+              That array represents the contents of the file.
+              </para>
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents a virtual path to
+            find the file from the document folder.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> contains "..".
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.RemoveWebSocketService(System.String)">
+            <summary>
+            Removes a WebSocket service with the specified <paramref name="path"/>.
+            </summary>
+            <remarks>
+              <para>
+              <paramref name="path"/> is converted to a URL-decoded string and
+              '/' is trimmed from the end of the converted string if any.
+              </para>
+              <para>
+              The service is stopped with close status 1001 (going away)
+              if it has already started.
+              </para>
+            </remarks>
+            <returns>
+            <c>true</c> if the service is successfully found and removed;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to remove.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.Start">
+            <summary>
+            Starts receiving incoming requests.
+            </summary>
+            <remarks>
+            This method does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              There is no server certificate for secure connections.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The underlying <see cref="T:WebSocketSharp.Net.HttpListener"/> has failed to start.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.Stop">
+            <summary>
+            Stops receiving incoming requests and closes each connection.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.Stop(System.UInt16,System.String)">
+            <summary>
+            Stops receiving incoming requests and closes each connection.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the WebSocket connection close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for
+              the WebSocket connection close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+              <para>
+              <paramref name="code"/> is less than 1000 or greater than 4999.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The size of <paramref name="reason"/> is greater than 123 bytes.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1005 (no status) and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.HttpServer.Stop(WebSocketSharp.CloseStatusCode,System.String)">
+            <summary>
+            Stops receiving incoming requests and closes each connection.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for
+              the WebSocket connection close.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for
+              the WebSocket connection close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="reason"/> is greater than 123 bytes.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.NoStatus"/> and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Server.IWebSocketSession">
+            <summary>
+            Exposes the properties used to access the information in a session in a WebSocket service.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Server.IWebSocketSession.Context">
+            <summary>
+            Gets the information in the connection request to the WebSocket service.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext"/> that provides the access to the connection request.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.IWebSocketSession.ID">
+            <summary>
+            Gets the unique ID of the session.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the unique ID of the session.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.IWebSocketSession.Protocol">
+            <summary>
+            Gets the WebSocket subprotocol used in the session.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the subprotocol if any.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.IWebSocketSession.StartTime">
+            <summary>
+            Gets the time that the session has started.
+            </summary>
+            <value>
+            A <see cref="T:System.DateTime"/> that represents the time that the session has started.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.IWebSocketSession.State">
+            <summary>
+            Gets the state of the <see cref="T:WebSocketSharp.WebSocket"/> used in the session.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.WebSocketState"/> enum values, indicates the state of
+            the <see cref="T:WebSocketSharp.WebSocket"/> used in the session.
+            </value>
+        </member>
+        <member name="T:WebSocketSharp.Server.WebSocketBehavior">
+            <summary>
+            Exposes the methods and properties used to define the behavior of a WebSocket service
+            provided by the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> or <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </summary>
+            <remarks>
+            The WebSocketBehavior class is an abstract class.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.Log">
+            <summary>
+            Gets the logging functions.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging functions,
+            or <see langword="null"/> if the WebSocket connection isn't established.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.Sessions">
+            <summary>
+            Gets the access to the sessions in the WebSocket service.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Server.WebSocketSessionManager"/> that provides the access to the sessions,
+            or <see langword="null"/> if the WebSocket connection isn't established.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.Context">
+            <summary>
+            Gets the information in a handshake request to the WebSocket service.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext"/> instance that provides the access to the handshake request,
+            or <see langword="null"/> if the WebSocket connection isn't established.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.CookiesValidator">
+            <summary>
+            Gets or sets the delegate called to validate the HTTP cookies included in
+            a handshake request to the WebSocket service.
+            </summary>
+            <remarks>
+            This delegate is called when the <see cref="T:WebSocketSharp.WebSocket"/> used in a session validates
+            the handshake request.
+            </remarks>
+            <value>
+              <para>
+              A <c>Func&lt;CookieCollection, CookieCollection, bool&gt;</c> delegate that references
+              the method(s) used to validate the cookies.
+              </para>
+              <para>
+              1st <see cref="T:WebSocketSharp.Net.CookieCollection"/> parameter passed to this delegate contains
+              the cookies to validate if any.
+              </para>
+              <para>
+              2nd <see cref="T:WebSocketSharp.Net.CookieCollection"/> parameter passed to this delegate receives
+              the cookies to send to the client.
+              </para>
+              <para>
+              This delegate should return <c>true</c> if the cookies are valid.
+              </para>
+              <para>
+              The default value is <see langword="null"/>, and it does nothing to validate.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.EmitOnPing">
+            <summary>
+            Gets or sets a value indicating whether the <see cref="T:WebSocketSharp.WebSocket"/> used in a session emits
+            a <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event when receives a Ping.
+            </summary>
+            <value>
+            <c>true</c> if the <see cref="T:WebSocketSharp.WebSocket"/> emits a <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event
+            when receives a Ping; otherwise, <c>false</c>. The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.ID">
+            <summary>
+            Gets the unique ID of a session.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the unique ID of the session,
+            or <see langword="null"/> if the WebSocket connection isn't established.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.IgnoreExtensions">
+            <summary>
+            Gets or sets a value indicating whether the WebSocket service ignores
+            the Sec-WebSocket-Extensions header included in a handshake request.
+            </summary>
+            <value>
+            <c>true</c> if the WebSocket service ignores the extensions requested from
+            a client; otherwise, <c>false</c>. The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.OriginValidator">
+            <summary>
+            Gets or sets the delegate called to validate the Origin header included in
+            a handshake request to the WebSocket service.
+            </summary>
+            <remarks>
+            This delegate is called when the <see cref="T:WebSocketSharp.WebSocket"/> used in a session validates
+            the handshake request.
+            </remarks>
+            <value>
+              <para>
+              A <c>Func&lt;string, bool&gt;</c> delegate that references the method(s) used to
+              validate the origin header.
+              </para>
+              <para>
+              <see cref="T:System.String"/> parameter passed to this delegate represents the value of
+              the origin header to validate if any.
+              </para>
+              <para>
+              This delegate should return <c>true</c> if the origin header is valid.
+              </para>
+              <para>
+              The default value is <see langword="null"/>, and it does nothing to validate.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.Protocol">
+            <summary>
+            Gets or sets the WebSocket subprotocol used in the WebSocket service.
+            </summary>
+            <remarks>
+            Set operation of this property is available before the WebSocket connection has
+            been established.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> that represents the subprotocol if any.
+              The default value is <see cref="F:System.String.Empty"/>.
+              </para>
+              <para>
+              The value to set must be a token defined in
+              <see href="http://tools.ietf.org/html/rfc2616#section-2.2">RFC 2616</see>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.StartTime">
+            <summary>
+            Gets the time that a session has started.
+            </summary>
+            <value>
+            A <see cref="T:System.DateTime"/> that represents the time that the session has started,
+            or <see cref="F:System.DateTime.MaxValue"/> if the WebSocket connection isn't established.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketBehavior.State">
+            <summary>
+            Gets the state of the <see cref="T:WebSocketSharp.WebSocket"/> used in a session.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.WebSocketState"/> enum values, indicates the state of
+            the <see cref="T:WebSocketSharp.WebSocket"/>.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.Error(System.String,System.Exception)">
+            <summary>
+            Calls the <see cref="M:WebSocketSharp.Server.WebSocketBehavior.OnError(WebSocketSharp.ErrorEventArgs)"/> method with the specified <paramref name="message"/> and
+            <paramref name="exception"/>.
+            </summary>
+            <remarks>
+            This method doesn't call the <see cref="M:WebSocketSharp.Server.WebSocketBehavior.OnError(WebSocketSharp.ErrorEventArgs)"/> method if <paramref name="message"/> is
+            <see langword="null"/> or empty.
+            </remarks>
+            <param name="message">
+            A <see cref="T:System.String"/> that represents the error message.
+            </param>
+            <param name="exception">
+            An <see cref="T:System.Exception"/> instance that represents the cause of the error if any.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.OnClose(WebSocketSharp.CloseEventArgs)">
+            <summary>
+            Called when the WebSocket connection used in a session has been closed.
+            </summary>
+            <param name="e">
+            A <see cref="T:WebSocketSharp.CloseEventArgs"/> that represents the event data passed to
+            a <see cref="E:WebSocketSharp.WebSocket.OnClose"/> event.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.OnError(WebSocketSharp.ErrorEventArgs)">
+            <summary>
+            Called when the <see cref="T:WebSocketSharp.WebSocket"/> used in a session gets an error.
+            </summary>
+            <param name="e">
+            A <see cref="T:WebSocketSharp.ErrorEventArgs"/> that represents the event data passed to
+            a <see cref="E:WebSocketSharp.WebSocket.OnError"/> event.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.OnMessage(WebSocketSharp.MessageEventArgs)">
+            <summary>
+            Called when the <see cref="T:WebSocketSharp.WebSocket"/> used in a session receives a message.
+            </summary>
+            <param name="e">
+            A <see cref="T:WebSocketSharp.MessageEventArgs"/> that represents the event data passed to
+            a <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.OnOpen">
+            <summary>
+            Called when the WebSocket connection used in a session has been established.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.Send(System.Byte[])">
+            <summary>
+            Sends binary <paramref name="data"/> to the client on a session.
+            </summary>
+            <remarks>
+            This method is available after the WebSocket connection has been established.
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.Send(System.IO.FileInfo)">
+            <summary>
+            Sends the specified <paramref name="file"/> as binary data to the client on a session.
+            </summary>
+            <remarks>
+            This method is available after the WebSocket connection has been established.
+            </remarks>
+            <param name="file">
+            A <see cref="T:System.IO.FileInfo"/> that represents the file to send.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.Send(System.String)">
+            <summary>
+            Sends text <paramref name="data"/> to the client on a session.
+            </summary>
+            <remarks>
+            This method is available after the WebSocket connection has been established.
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.SendAsync(System.Byte[],System.Action{System.Boolean})">
+            <summary>
+            Sends binary <paramref name="data"/> asynchronously to the client on a session.
+            </summary>
+            <remarks>
+              <para>
+              This method is available after the WebSocket connection has been established.
+              </para>
+              <para>
+              This method doesn't wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="completed">
+            An <c>Action&lt;bool&gt;</c> delegate that references the method(s) called when
+            the send is complete. A <see cref="T:System.Boolean"/> passed to this delegate is <c>true</c>
+            if the send is complete successfully.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.SendAsync(System.IO.FileInfo,System.Action{System.Boolean})">
+            <summary>
+            Sends the specified <paramref name="file"/> as binary data asynchronously to
+            the client on a session.
+            </summary>
+            <remarks>
+              <para>
+              This method is available after the WebSocket connection has been established.
+              </para>
+              <para>
+              This method doesn't wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="file">
+            A <see cref="T:System.IO.FileInfo"/> that represents the file to send.
+            </param>
+            <param name="completed">
+            An <c>Action&lt;bool&gt;</c> delegate that references the method(s) called when
+            the send is complete. A <see cref="T:System.Boolean"/> passed to this delegate is <c>true</c>
+            if the send is complete successfully.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.SendAsync(System.String,System.Action{System.Boolean})">
+            <summary>
+            Sends text <paramref name="data"/> asynchronously to the client on a session.
+            </summary>
+            <remarks>
+              <para>
+              This method is available after the WebSocket connection has been established.
+              </para>
+              <para>
+              This method doesn't wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="completed">
+            An <c>Action&lt;bool&gt;</c> delegate that references the method(s) called when
+            the send is complete. A <see cref="T:System.Boolean"/> passed to this delegate is <c>true</c>
+            if the send is complete successfully.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketBehavior.SendAsync(System.IO.Stream,System.Int32,System.Action{System.Boolean})">
+            <summary>
+            Sends binary data from the specified <see cref="T:System.IO.Stream"/> asynchronously to
+            the client on a session.
+            </summary>
+            <remarks>
+              <para>
+              This method is available after the WebSocket connection has been established.
+              </para>
+              <para>
+              This method doesn't wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> from which contains the binary data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that represents the number of bytes to send.
+            </param>
+            <param name="completed">
+            An <c>Action&lt;bool&gt;</c> delegate that references the method(s) called when
+            the send is complete. A <see cref="T:System.Boolean"/> passed to this delegate is <c>true</c>
+            if the send is complete successfully.
+            </param>
+        </member>
+        <member name="T:WebSocketSharp.Server.WebSocketServer">
+            <summary>
+            Provides a WebSocket protocol server.
+            </summary>
+            <remarks>
+            This class can provide multiple WebSocket services.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class.
+            </summary>
+            <remarks>
+            The new instance listens for incoming handshake requests on
+            <see cref="F:System.Net.IPAddress.Any"/> and port 80.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor(System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class
+            with the specified <paramref name="port"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming handshake requests on
+              <see cref="F:System.Net.IPAddress.Any"/> and <paramref name="port"/>.
+              </para>
+              <para>
+              It provides secure connections if <paramref name="port"/> is 443.
+              </para>
+            </remarks>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class
+            with the specified <paramref name="url"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming handshake requests on
+              the IP address of the host of <paramref name="url"/> and
+              the port of <paramref name="url"/>.
+              </para>
+              <para>
+              Either port 80 or 443 is used if <paramref name="url"/> includes
+              no port. Port 443 is used if the scheme of <paramref name="url"/>
+              is wss; otherwise, port 80 is used.
+              </para>
+              <para>
+              The new instance provides secure connections if the scheme of
+              <paramref name="url"/> is wss.
+              </para>
+            </remarks>
+            <param name="url">
+            A <see cref="T:System.String"/> that represents the WebSocket URL of the server.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="url"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="url"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="url"/> is invalid.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor(System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class
+            with the specified <paramref name="port"/> and <paramref name="secure"/>.
+            </summary>
+            <remarks>
+            The new instance listens for incoming handshake requests on
+            <see cref="F:System.Net.IPAddress.Any"/> and <paramref name="port"/>.
+            </remarks>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <param name="secure">
+            A <see cref="T:System.Boolean"/>: <c>true</c> if the new instance provides
+            secure connections; otherwise, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor(System.Net.IPAddress,System.Int32)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class
+            with the specified <paramref name="address"/> and <paramref name="port"/>.
+            </summary>
+            <remarks>
+              <para>
+              The new instance listens for incoming handshake requests on
+              <paramref name="address"/> and <paramref name="port"/>.
+              </para>
+              <para>
+              It provides secure connections if <paramref name="port"/> is 443.
+              </para>
+            </remarks>
+            <param name="address">
+            A <see cref="T:System.Net.IPAddress"/> that represents the local
+            IP address on which to listen.
+            </param>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="address"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="address"/> is not a local IP address.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.#ctor(System.Net.IPAddress,System.Int32,System.Boolean)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> class
+            with the specified <paramref name="address"/>, <paramref name="port"/>,
+            and <paramref name="secure"/>.
+            </summary>
+            <remarks>
+            The new instance listens for incoming handshake requests on
+            <paramref name="address"/> and <paramref name="port"/>.
+            </remarks>
+            <param name="address">
+            A <see cref="T:System.Net.IPAddress"/> that represents the local
+            IP address on which to listen.
+            </param>
+            <param name="port">
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen.
+            </param>
+            <param name="secure">
+            A <see cref="T:System.Boolean"/>: <c>true</c> if the new instance provides
+            secure connections; otherwise, <c>false</c>.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="address"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="address"/> is not a local IP address.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="port"/> is less than 1 or greater than 65535.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.Address">
+            <summary>
+            Gets the IP address of the server.
+            </summary>
+            <value>
+            A <see cref="T:System.Net.IPAddress"/> that represents the local
+            IP address on which to listen for incoming handshake requests.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.AllowForwardedRequest">
+            <summary>
+            Gets or sets a value indicating whether the server accepts every
+            handshake request without checking the request URI.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the server accepts every handshake request without
+              checking the request URI; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.AuthenticationSchemes">
+            <summary>
+            Gets or sets the scheme used to authenticate the clients.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              One of the <see cref="T:WebSocketSharp.Net.AuthenticationSchemes"/>
+              enum values.
+              </para>
+              <para>
+              It represents the scheme used to authenticate the clients.
+              </para>
+              <para>
+              The default value is
+              <see cref="F:WebSocketSharp.Net.AuthenticationSchemes.Anonymous"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.IsListening">
+            <summary>
+            Gets a value indicating whether the server has started.
+            </summary>
+            <value>
+            <c>true</c> if the server has started; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.IsSecure">
+            <summary>
+            Gets a value indicating whether the server provides
+            secure connections.
+            </summary>
+            <value>
+            <c>true</c> if the server provides secure connections;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.KeepClean">
+            <summary>
+            Gets or sets a value indicating whether the server cleans up
+            the inactive sessions periodically.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the server cleans up the inactive sessions every
+              60 seconds; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>true</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.Log">
+            <summary>
+            Gets the logging function for the server.
+            </summary>
+            <remarks>
+            The default logging level is <see cref="F:WebSocketSharp.LogLevel.Error"/>.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging function.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.Port">
+            <summary>
+            Gets the port of the server.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of the port
+            on which to listen for incoming handshake requests.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.Realm">
+            <summary>
+            Gets or sets the realm used for authentication.
+            </summary>
+            <remarks>
+              <para>
+              "SECRET AREA" is used as the realm if the value is
+              <see langword="null"/> or an empty string.
+              </para>
+              <para>
+              The set operation does nothing if the server has
+              already started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> or <see langword="null"/> by default.
+              </para>
+              <para>
+              That string represents the name of the realm.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.ReuseAddress">
+            <summary>
+            Gets or sets a value indicating whether the server is allowed to
+            be bound to an address that is already in use.
+            </summary>
+            <remarks>
+              <para>
+              You should set this property to <c>true</c> if you would
+              like to resolve to wait for socket in TIME_WAIT state.
+              </para>
+              <para>
+              The set operation does nothing if the server has already
+              started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the server is allowed to be bound to an address
+              that is already in use; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.SslConfiguration">
+            <summary>
+            Gets the configuration for secure connections.
+            </summary>
+            <remarks>
+            This configuration will be referenced when attempts to start,
+            so it must be configured before the start method is called.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.ServerSslConfiguration"/> that represents
+            the configuration used to provide secure connections.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            This instance does not provide secure connections.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.UserCredentialsFinder">
+            <summary>
+            Gets or sets the delegate used to find the credentials
+            for an identity.
+            </summary>
+            <remarks>
+              <para>
+              No credentials are found if the method invoked by
+              the delegate returns <see langword="null"/> or
+              the value is <see langword="null"/>.
+              </para>
+              <para>
+              The set operation does nothing if the server has
+              already started or it is shutting down.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <c>Func&lt;<see cref="T:System.Security.Principal.IIdentity"/>,
+              <see cref="T:WebSocketSharp.Net.NetworkCredential"/>&gt;</c> delegate or
+              <see langword="null"/> if not needed.
+              </para>
+              <para>
+              That delegate invokes the method called for finding
+              the credentials used to authenticate a client.
+              </para>
+              <para>
+              The default value is <see langword="null"/>.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the WebSocket Ping or
+            Close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.TimeSpan"/> to wait for the response.
+              </para>
+              <para>
+              The default value is the same as 1 second.
+              </para>
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServer.WebSocketServices">
+            <summary>
+            Gets the management function for the WebSocket services
+            provided by the server.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager"/> that manages
+            the WebSocket services provided by the server.
+            </value>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.AddWebSocketService``1(System.String,System.Func{``0})">
+            <summary>
+            Adds a WebSocket service with the specified behavior,
+            <paramref name="path"/>, and <paramref name="creator"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <param name="creator">
+              <para>
+              A <c>Func&lt;TBehavior&gt;</c> delegate.
+              </para>
+              <para>
+              It invokes the method called for creating a new session
+              instance for the service.
+              </para>
+              <para>
+              The method must create a new instance of the specified
+              behavior class and return it.
+              </para>
+            </param>
+            <typeparam name="TBehavior">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="path"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="creator"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.AddWebSocketService``1(System.String)">
+            <summary>
+            Adds a WebSocket service with the specified behavior and
+            <paramref name="path"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <typeparam name="TBehaviorWithNew">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class and
+              have a public parameterless constructor.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.AddWebSocketService``1(System.String,System.Action{``0})">
+            <summary>
+            Adds a WebSocket service with the specified behavior,
+            <paramref name="path"/>, and <paramref name="initializer"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            '/' is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <param name="initializer">
+              <para>
+              An <c>Action&lt;TBehaviorWithNew&gt;</c> delegate or
+              <see langword="null"/> if not needed.
+              </para>
+              <para>
+              That delegate invokes the method called for initializing
+              a new session instance for the service.
+              </para>
+            </param>
+            <typeparam name="TBehaviorWithNew">
+              <para>
+              The type of the behavior for the service.
+              </para>
+              <para>
+              It must inherit the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class and
+              have a public parameterless constructor.
+              </para>
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.RemoveWebSocketService(System.String)">
+            <summary>
+            Removes a WebSocket service with the specified <paramref name="path"/>.
+            </summary>
+            <remarks>
+              <para>
+              <paramref name="path"/> is converted to a URL-decoded string and
+              '/' is trimmed from the end of the converted string if any.
+              </para>
+              <para>
+              The service is stopped with close status 1001 (going away)
+              if it has already started.
+              </para>
+            </remarks>
+            <returns>
+            <c>true</c> if the service is successfully found and removed;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to remove.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.Start">
+            <summary>
+            Starts receiving incoming handshake requests.
+            </summary>
+            <remarks>
+            This method does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              There is no server certificate for secure connections.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The underlying <see cref="T:System.Net.Sockets.TcpListener"/> has failed to start.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.Stop">
+            <summary>
+            Stops receiving incoming handshake requests and closes
+            each connection.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+            <exception cref="T:System.InvalidOperationException">
+            The underlying <see cref="T:System.Net.Sockets.TcpListener"/> has failed to stop.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.Stop(System.UInt16,System.String)">
+            <summary>
+            Stops receiving incoming handshake requests and closes each
+            connection with the specified <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+              <para>
+              <paramref name="code"/> is less than 1000 or greater than 4999.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The size of <paramref name="reason"/> is greater than 123 bytes.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1005 (no status) and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The underlying <see cref="T:System.Net.Sockets.TcpListener"/> has failed to stop.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServer.Stop(WebSocketSharp.CloseStatusCode,System.String)">
+            <summary>
+            Stops receiving incoming handshake requests and closes each
+            connection with the specified <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the server is not started,
+            it is shutting down, or it has already stopped.
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.NoStatus"/> and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="reason"/> is greater than 123 bytes.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The underlying <see cref="T:System.Net.Sockets.TcpListener"/> has failed to stop.
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Server.WebSocketServiceHost">
+            <summary>
+            Exposes the methods and properties used to access the information in
+            a WebSocket service provided by the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> or
+            <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </summary>
+            <remarks>
+            This class is an abstract class.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceHost.#ctor(System.String,WebSocketSharp.Logger)">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.Server.WebSocketServiceHost"/> class
+            with the specified <paramref name="path"/> and <paramref name="log"/>.
+            </summary>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents the absolute path to the service.
+            </param>
+            <param name="log">
+            A <see cref="T:WebSocketSharp.Logger"/> that represents the logging function for the service.
+            </param>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.Log">
+            <summary>
+            Gets the logging function for the service.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging function.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.KeepClean">
+            <summary>
+            Gets or sets a value indicating whether the service cleans up
+            the inactive sessions periodically.
+            </summary>
+            <remarks>
+            The set operation does nothing if the service has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            <c>true</c> if the service cleans up the inactive sessions every
+            60 seconds; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.Path">
+            <summary>
+            Gets the path to the service.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the absolute path to
+            the service.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.Sessions">
+            <summary>
+            Gets the management function for the sessions in the service.
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Server.WebSocketSessionManager"/> that manages the sessions in
+            the service.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.BehaviorType">
+            <summary>
+            Gets the <see cref="T:System.Type"/> of the behavior of the service.
+            </summary>
+            <value>
+            A <see cref="T:System.Type"/> that represents the type of the behavior of
+            the service.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceHost.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the WebSocket Ping or
+            Close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the service has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            A <see cref="T:System.TimeSpan"/> to wait for the response.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceHost.CreateSession">
+            <summary>
+            Creates a new session for the service.
+            </summary>
+            <returns>
+            A <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> instance that represents
+            the new session.
+            </returns>
+        </member>
+        <member name="T:WebSocketSharp.Server.WebSocketServiceManager">
+            <summary>
+            Provides the management function for the WebSocket services.
+            </summary>
+            <remarks>
+            This class manages the WebSocket services provided by
+            the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> or <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.Count">
+            <summary>
+            Gets the number of the WebSocket services.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of the services.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.Hosts">
+            <summary>
+            Gets the host instances for the WebSocket services.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;WebSocketServiceHost&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the host instances.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.Item(System.String)">
+            <summary>
+            Gets the host instance for a WebSocket service with
+            the specified <paramref name="path"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            / is trimmed from the end of the converted string if any.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:WebSocketSharp.Server.WebSocketServiceHost"/> instance or
+              <see langword="null"/> if not found.
+              </para>
+              <para>
+              That host instance provides the function to access
+              the information in the service.
+              </para>
+            </value>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to find.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.KeepClean">
+            <summary>
+            Gets or sets a value indicating whether the inactive sessions in
+            the WebSocket services are cleaned up periodically.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            <c>true</c> if the inactive sessions are cleaned up every 60 seconds;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.Paths">
+            <summary>
+            Gets the paths for the WebSocket services.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;string&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the paths.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.SessionCount">
+            <summary>
+            Gets the total number of the sessions in the WebSocket services.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the total number of
+            the sessions in the services.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketServiceManager.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the WebSocket Ping or
+            Close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the server has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            A <see cref="T:System.TimeSpan"/> to wait for the response.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.AddService``1(System.String,System.Action{``0})">
+            <summary>
+            Adds a WebSocket service with the specified behavior,
+            <paramref name="path"/>, and <paramref name="initializer"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            / is trimmed from the end of the converted string if any.
+            </remarks>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to add.
+            </param>
+            <param name="initializer">
+              <para>
+              An <c>Action&lt;TBehavior&gt;</c> delegate or
+              <see langword="null"/> if not needed.
+              </para>
+              <para>
+              That delegate invokes the method called for initializing
+              a new session instance for the service.
+              </para>
+            </param>
+            <typeparam name="TBehavior">
+            The type of the behavior for the service. It must inherit
+            the <see cref="T:WebSocketSharp.Server.WebSocketBehavior"/> class and it must have
+            a public parameterless constructor.
+            </typeparam>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is already in use.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.Broadcast(System.Byte[])">
+            <summary>
+            Sends <paramref name="data"/> to every client in the WebSocket services.
+            </summary>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.Broadcast(System.String)">
+            <summary>
+            Sends <paramref name="data"/> to every client in the WebSocket services.
+            </summary>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.BroadcastAsync(System.Byte[],System.Action)">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to every client in
+            the WebSocket services.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.BroadcastAsync(System.String,System.Action)">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to every client in
+            the WebSocket services.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.BroadcastAsync(System.IO.Stream,System.Int32,System.Action)">
+            <summary>
+            Sends the data from <paramref name="stream"/> asynchronously to
+            every client in the WebSocket services.
+            </summary>
+            <remarks>
+              <para>
+              The data is sent as the binary data.
+              </para>
+              <para>
+              This method does not wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="stream"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.Broadping">
+            <summary>
+            Sends a ping to every client in the WebSocket services.
+            </summary>
+            <returns>
+              <para>
+              A <c>Dictionary&lt;string, Dictionary&lt;string, bool&gt;&gt;</c>.
+              </para>
+              <para>
+              It represents a collection of pairs of a service path and another
+              collection of pairs of a session ID and a value indicating whether
+              a pong has been received from the client within a time.
+              </para>
+            </returns>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.Broadping(System.String)">
+            <summary>
+            Sends a ping with <paramref name="message"/> to every client in
+            the WebSocket services.
+            </summary>
+            <returns>
+              <para>
+              A <c>Dictionary&lt;string, Dictionary&lt;string, bool&gt;&gt;</c>.
+              </para>
+              <para>
+              It represents a collection of pairs of a service path and another
+              collection of pairs of a session ID and a value indicating whether
+              a pong has been received from the client within a time.
+              </para>
+            </returns>
+            <param name="message">
+              <para>
+              A <see cref="T:System.String"/> that represents the message to send.
+              </para>
+              <para>
+              The size must be 125 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="message"/> could not be UTF-8-encoded.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="message"/> is greater than 125 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.Clear">
+            <summary>
+            Removes all WebSocket services managed by the manager.
+            </summary>
+            <remarks>
+            A service is stopped with close status 1001 (going away)
+            if it has already started.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.RemoveService(System.String)">
+            <summary>
+            Removes a WebSocket service with the specified <paramref name="path"/>.
+            </summary>
+            <remarks>
+              <para>
+              <paramref name="path"/> is converted to a URL-decoded string and
+              / is trimmed from the end of the converted string if any.
+              </para>
+              <para>
+              The service is stopped with close status 1001 (going away)
+              if it has already started.
+              </para>
+            </remarks>
+            <returns>
+            <c>true</c> if the service is successfully found and removed;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to remove.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketServiceManager.TryGetServiceHost(System.String,WebSocketSharp.Server.WebSocketServiceHost@)">
+            <summary>
+            Tries to get the host instance for a WebSocket service with
+            the specified <paramref name="path"/>.
+            </summary>
+            <remarks>
+            <paramref name="path"/> is converted to a URL-decoded string and
+            / is trimmed from the end of the converted string if any.
+            </remarks>
+            <returns>
+            <c>true</c> if the service is successfully found;
+            otherwise, <c>false</c>.
+            </returns>
+            <param name="path">
+            A <see cref="T:System.String"/> that represents an absolute path to
+            the service to find.
+            </param>
+            <param name="host">
+              <para>
+              When this method returns, a <see cref="T:WebSocketSharp.Server.WebSocketServiceHost"/>
+              instance or <see langword="null"/> if not found.
+              </para>
+              <para>
+              That host instance provides the function to access
+              the information in the service.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="path"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="path"/> is empty.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> is not an absolute path.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="path"/> includes either or both
+              query and fragment components.
+              </para>
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.Server.WebSocketSessionManager">
+            <summary>
+            Provides the management function for the sessions in a WebSocket service.
+            </summary>
+            <remarks>
+            This class manages the sessions in a WebSocket service provided by
+            the <see cref="T:WebSocketSharp.Server.WebSocketServer"/> or <see cref="T:WebSocketSharp.Server.HttpServer"/>.
+            </remarks>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.ActiveIDs">
+            <summary>
+            Gets the IDs for the active sessions in the WebSocket service.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;string&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the IDs for the active sessions.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.Count">
+            <summary>
+            Gets the number of the sessions in the WebSocket service.
+            </summary>
+            <value>
+            An <see cref="T:System.Int32"/> that represents the number of the sessions.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.IDs">
+            <summary>
+            Gets the IDs for the sessions in the WebSocket service.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;string&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the IDs for the sessions.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.InactiveIDs">
+            <summary>
+            Gets the IDs for the inactive sessions in the WebSocket service.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;string&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the IDs for the inactive sessions.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.Item(System.String)">
+            <summary>
+            Gets the session instance with <paramref name="id"/>.
+            </summary>
+            <value>
+              <para>
+              A <see cref="T:WebSocketSharp.Server.IWebSocketSession"/> instance or <see langword="null"/>
+              if not found.
+              </para>
+              <para>
+              The session instance provides the function to access the information
+              in the session.
+              </para>
+            </value>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session to find.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.KeepClean">
+            <summary>
+            Gets or sets a value indicating whether the inactive sessions in
+            the WebSocket service are cleaned up periodically.
+            </summary>
+            <remarks>
+            The set operation does nothing if the service has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            <c>true</c> if the inactive sessions are cleaned up every 60 seconds;
+            otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.Sessions">
+            <summary>
+            Gets the session instances in the WebSocket service.
+            </summary>
+            <value>
+              <para>
+              An <c>IEnumerable&lt;IWebSocketSession&gt;</c> instance.
+              </para>
+              <para>
+              It provides an enumerator which supports the iteration over
+              the collection of the session instances.
+              </para>
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.Server.WebSocketSessionManager.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the WebSocket Ping or
+            Close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the service has already started or
+            it is shutting down.
+            </remarks>
+            <value>
+            A <see cref="T:System.TimeSpan"/> to wait for the response.
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Broadcast(System.Byte[])">
+            <summary>
+            Sends <paramref name="data"/> to every client in the WebSocket service.
+            </summary>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Broadcast(System.String)">
+            <summary>
+            Sends <paramref name="data"/> to every client in the WebSocket service.
+            </summary>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Broadcast(System.IO.Stream,System.Int32)">
+            <summary>
+            Sends the data from <paramref name="stream"/> to every client in
+            the WebSocket service.
+            </summary>
+            <remarks>
+            The data is sent as the binary data.
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="stream"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.BroadcastAsync(System.Byte[],System.Action)">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to every client in
+            the WebSocket service.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.BroadcastAsync(System.String,System.Action)">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to every client in
+            the WebSocket service.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.BroadcastAsync(System.IO.Stream,System.Int32,System.Action)">
+            <summary>
+            Sends the data from <paramref name="stream"/> asynchronously to
+            every client in the WebSocket service.
+            </summary>
+            <remarks>
+              <para>
+              The data is sent as the binary data.
+              </para>
+              <para>
+              This method does not wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <see cref="T:System.Action"/> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="stream"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Broadping">
+            <summary>
+            Sends a ping to every client in the WebSocket service.
+            </summary>
+            <returns>
+              <para>
+              A <c>Dictionary&lt;string, bool&gt;</c>.
+              </para>
+              <para>
+              It represents a collection of pairs of a session ID and
+              a value indicating whether a pong has been received from
+              the client within a time.
+              </para>
+            </returns>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Broadping(System.String)">
+            <summary>
+            Sends a ping with <paramref name="message"/> to every client in
+            the WebSocket service.
+            </summary>
+            <returns>
+              <para>
+              A <c>Dictionary&lt;string, bool&gt;</c>.
+              </para>
+              <para>
+              It represents a collection of pairs of a session ID and
+              a value indicating whether a pong has been received from
+              the client within a time.
+              </para>
+            </returns>
+            <param name="message">
+              <para>
+              A <see cref="T:System.String"/> that represents the message to send.
+              </para>
+              <para>
+              The size must be 125 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the manager is not Start.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="message"/> could not be UTF-8-encoded.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="message"/> is greater than 125 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.CloseSession(System.String)">
+            <summary>
+            Closes the specified session.
+            </summary>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session to close.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The session could not be found.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.CloseSession(System.String,System.UInt16,System.String)">
+            <summary>
+            Closes the specified session with <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session to close.
+            </param>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code indicating
+              the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1005 (no status) and there is
+              <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The session could not be found.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+              <para>
+              <paramref name="code"/> is less than 1000 or greater than 4999.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The size of <paramref name="reason"/> is greater than 123 bytes.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.CloseSession(System.String,WebSocketSharp.CloseStatusCode,System.String)">
+            <summary>
+            Closes the specified session with <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session to close.
+            </param>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.NoStatus"/> and there is
+              <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The session could not be found.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="reason"/> is greater than 123 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.PingTo(System.String)">
+            <summary>
+            Sends a ping to the client using the specified session.
+            </summary>
+            <returns>
+            <c>true</c> if the send has done with no error and a pong has been
+            received from the client within a time; otherwise, <c>false</c>.
+            </returns>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The session could not be found.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.PingTo(System.String,System.String)">
+            <summary>
+            Sends a ping with <paramref name="message"/> to the client using
+            the specified session.
+            </summary>
+            <returns>
+            <c>true</c> if the send has done with no error and a pong has been
+            received from the client within a time; otherwise, <c>false</c>.
+            </returns>
+            <param name="message">
+              <para>
+              A <see cref="T:System.String"/> that represents the message to send.
+              </para>
+              <para>
+              The size must be 125 bytes or less in UTF-8.
+              </para>
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="message"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+            The session could not be found.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="message"/> is greater than 125 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendTo(System.Byte[],System.String)">
+            <summary>
+            Sends <paramref name="data"/> to the client using the specified session.
+            </summary>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendTo(System.String,System.String)">
+            <summary>
+            Sends <paramref name="data"/> to the client using the specified session.
+            </summary>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendTo(System.IO.Stream,System.Int32,System.String)">
+            <summary>
+            Sends the data from <paramref name="stream"/> to the client using
+            the specified session.
+            </summary>
+            <remarks>
+            The data is sent as the binary data.
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="stream"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendToAsync(System.Byte[],System.String,System.Action{System.Boolean})">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to the client using
+            the specified session.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendToAsync(System.String,System.String,System.Action{System.Boolean})">
+            <summary>
+            Sends <paramref name="data"/> asynchronously to the client using
+            the specified session.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="data"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.SendToAsync(System.IO.Stream,System.Int32,System.String,System.Action{System.Boolean})">
+            <summary>
+            Sends the data from <paramref name="stream"/> asynchronously to
+            the client using the specified session.
+            </summary>
+            <remarks>
+              <para>
+              The data is sent as the binary data.
+              </para>
+              <para>
+              This method does not wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+              <para>
+              <paramref name="id"/> is <see langword="null"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="stream"/> is <see langword="null"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="id"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              The session could not be found.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The current state of the WebSocket connection is not Open.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.Sweep">
+            <summary>
+            Cleans up the inactive sessions in the WebSocket service.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.Server.WebSocketSessionManager.TryGetSession(System.String,WebSocketSharp.Server.IWebSocketSession@)">
+            <summary>
+            Tries to get the session instance with <paramref name="id"/>.
+            </summary>
+            <returns>
+            <c>true</c> if the session is successfully found; otherwise,
+            <c>false</c>.
+            </returns>
+            <param name="id">
+            A <see cref="T:System.String"/> that represents the ID of the session to find.
+            </param>
+            <param name="session">
+              <para>
+              When this method returns, a <see cref="T:WebSocketSharp.Server.IWebSocketSession"/>
+              instance or <see langword="null"/> if not found.
+              </para>
+              <para>
+              The session instance provides the function to access
+              the information in the session.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="id"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="id"/> is an empty string.
+            </exception>
+        </member>
+        <member name="T:WebSocketSharp.WebSocket">
+            <summary>
+            Implements the WebSocket interface.
+            </summary>
+            <remarks>
+            The WebSocket class provides a set of methods and properties for two-way communication using
+            the WebSocket protocol (<see href="http://tools.ietf.org/html/rfc6455">RFC 6455</see>).
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.WebSocket.EmptyBytes">
+            <summary>
+            Represents the empty array of <see cref="T:System.Byte"/> used internally.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.WebSocket.FragmentLength">
+            <summary>
+            Represents the length used to determine whether the data should be fragmented in sending.
+            </summary>
+            <remarks>
+              <para>
+              The data will be fragmented if that length is greater than the value of this field.
+              </para>
+              <para>
+              If you would like to change the value, you must set it to a value between <c>125</c> and
+              <c>Int32.MaxValue - 14</c> inclusive.
+              </para>
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.WebSocket.RandomNumber">
+            <summary>
+            Represents the random number generator used internally.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.#ctor(System.String,System.String[])">
+            <summary>
+            Initializes a new instance of the <see cref="T:WebSocketSharp.WebSocket"/> class with
+            <paramref name="url"/> and <paramref name="protocols"/>.
+            </summary>
+            <param name="url">
+            A <see cref="T:System.String"/> that specifies the URL of the WebSocket
+            server to connect.
+            </param>
+            <param name="protocols">
+              <para>
+              An array of <see cref="T:System.String"/> that specifies the names of
+              the subprotocols if necessary.
+              </para>
+              <para>
+              Each value of the array must be a token defined in
+              <see href="http://tools.ietf.org/html/rfc2616#section-2.2">
+              RFC 2616</see>.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="url"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="url"/> is an empty string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="url"/> is an invalid WebSocket URL string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="protocols"/> contains a value that is not a token.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="protocols"/> contains a value twice.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Compression">
+            <summary>
+            Gets or sets the compression method used to compress a message.
+            </summary>
+            <remarks>
+            The set operation does nothing if the connection has already been
+            established or it is closing.
+            </remarks>
+            <value>
+              <para>
+              One of the <see cref="T:WebSocketSharp.CompressionMethod"/> enum values.
+              </para>
+              <para>
+              It represents the compression method used to compress a message.
+              </para>
+              <para>
+              The default value is <see cref="F:WebSocketSharp.CompressionMethod.None"/>.
+              </para>
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The set operation cannot be used by servers.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Cookies">
+            <summary>
+            Gets the HTTP cookies included in the WebSocket handshake request and response.
+            </summary>
+            <value>
+            An <see cref="T:System.Collections.Generic.IEnumerable{WebSocketSharp.Net.Cookie}"/>
+            instance that provides an enumerator which supports the iteration over the collection of
+            the cookies.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Credentials">
+            <summary>
+            Gets the credentials for the HTTP authentication (Basic/Digest).
+            </summary>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.NetworkCredential"/> that represents the credentials for
+            the authentication. The default value is <see langword="null"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.EmitOnPing">
+            <summary>
+            Gets or sets a value indicating whether the <see cref="T:WebSocketSharp.WebSocket"/> emits
+            a <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event when receives a ping.
+            </summary>
+            <value>
+            <c>true</c> if the <see cref="T:WebSocketSharp.WebSocket"/> emits a <see cref="E:WebSocketSharp.WebSocket.OnMessage"/> event
+            when receives a ping; otherwise, <c>false</c>. The default value is <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.EnableRedirection">
+            <summary>
+            Gets or sets a value indicating whether the URL redirection for
+            the handshake request is allowed.
+            </summary>
+            <remarks>
+            The set operation does nothing if the connection has already been
+            established or it is closing.
+            </remarks>
+            <value>
+              <para>
+              <c>true</c> if the URL redirection for the handshake request is
+              allowed; otherwise, <c>false</c>.
+              </para>
+              <para>
+              The default value is <c>false</c>.
+              </para>
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The set operation cannot be used by servers.
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Extensions">
+            <summary>
+            Gets the WebSocket extensions selected by the server.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the extensions if any.
+            The default value is <see cref="F:System.String.Empty"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.IsAlive">
+            <summary>
+            Gets a value indicating whether the WebSocket connection is alive.
+            </summary>
+            <value>
+            <c>true</c> if the connection is alive; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.IsSecure">
+            <summary>
+            Gets a value indicating whether the WebSocket connection is secure.
+            </summary>
+            <value>
+            <c>true</c> if the connection is secure; otherwise, <c>false</c>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Log">
+            <summary>
+            Gets the logging functions.
+            </summary>
+            <remarks>
+            The default logging level is <see cref="F:WebSocketSharp.LogLevel.Error"/>. If you would like to change it,
+            you should set this <c>Log.Level</c> property to any of the <see cref="T:WebSocketSharp.LogLevel"/> enum
+            values.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Logger"/> that provides the logging functions.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Origin">
+            <summary>
+            Gets or sets the value of the HTTP Origin header to send with
+            the handshake request.
+            </summary>
+            <remarks>
+              <para>
+              The HTTP Origin header is defined in
+              <see href="http://tools.ietf.org/html/rfc6454#section-7">
+              Section 7 of RFC 6454</see>.
+              </para>
+              <para>
+              This instance sends the Origin header if this property has any.
+              </para>
+              <para>
+              The set operation does nothing if the connection has already been
+              established or it is closing.
+              </para>
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.String"/> that represents the value of the Origin
+              header to send.
+              </para>
+              <para>
+              The syntax is &lt;scheme&gt;://&lt;host&gt;[:&lt;port&gt;].
+              </para>
+              <para>
+              The default value is <see langword="null"/>.
+              </para>
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+            The set operation is not available if this instance is not a client.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              The value specified for a set operation is not an absolute URI string.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The value specified for a set operation includes the path segments.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Protocol">
+            <summary>
+            Gets the WebSocket subprotocol selected by the server.
+            </summary>
+            <value>
+            A <see cref="T:System.String"/> that represents the subprotocol if any.
+            The default value is <see cref="F:System.String.Empty"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.ReadyState">
+            <summary>
+            Gets the state of the WebSocket connection.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.WebSocketState"/> enum values that indicates
+            the current state of the connection. The default value is
+            <see cref="F:WebSocketSharp.WebSocketState.Connecting"/>.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.SslConfiguration">
+            <summary>
+            Gets the configuration for secure connection.
+            </summary>
+            <remarks>
+            This configuration will be referenced when attempts to connect,
+            so it must be configured before any connect method is called.
+            </remarks>
+            <value>
+            A <see cref="T:WebSocketSharp.Net.ClientSslConfiguration"/> that represents
+            the configuration used to establish a secure connection.
+            </value>
+            <exception cref="T:System.InvalidOperationException">
+              <para>
+              This instance is not a client.
+              </para>
+              <para>
+              This instance does not use a secure connection.
+              </para>
+            </exception>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.Url">
+            <summary>
+            Gets the WebSocket URL used to connect, or accepted.
+            </summary>
+            <value>
+            A <see cref="T:System.Uri"/> that represents the URL used to connect, or accepted.
+            </value>
+        </member>
+        <member name="P:WebSocketSharp.WebSocket.WaitTime">
+            <summary>
+            Gets or sets the time to wait for the response to the ping or close.
+            </summary>
+            <remarks>
+            The set operation does nothing if the connection has already been
+            established or it is closing.
+            </remarks>
+            <value>
+              <para>
+              A <see cref="T:System.TimeSpan"/> to wait for the response.
+              </para>
+              <para>
+              The default value is the same as 5 seconds if the instance is
+              a client.
+              </para>
+            </value>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The value specified for a set operation is zero or less.
+            </exception>
+        </member>
+        <member name="E:WebSocketSharp.WebSocket.OnClose">
+            <summary>
+            Occurs when the WebSocket connection has been closed.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.WebSocket.OnError">
+            <summary>
+            Occurs when the <see cref="T:WebSocketSharp.WebSocket"/> gets an error.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.WebSocket.OnMessage">
+            <summary>
+            Occurs when the <see cref="T:WebSocketSharp.WebSocket"/> receives a message.
+            </summary>
+        </member>
+        <member name="E:WebSocketSharp.WebSocket.OnOpen">
+            <summary>
+            Occurs when the WebSocket connection has been established.
+            </summary>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Accept">
+            <summary>
+            Accepts the WebSocket handshake request.
+            </summary>
+            <remarks>
+            This method is not available in a client.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.AcceptAsync">
+            <summary>
+            Accepts the WebSocket handshake request asynchronously.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the accept to be complete.
+              </para>
+              <para>
+              This method is not available in a client.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Close">
+            <summary>
+            Closes the connection.
+            </summary>
+            <remarks>
+            This method does nothing if the current state of the connection is
+            Closing or Closed.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Close(System.UInt16)">
+            <summary>
+            Closes the connection with the specified <paramref name="code"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the current state of the connection is
+            Closing or Closed.
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="code"/> is less than 1000 or greater than 4999.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1011 (server error).
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              It cannot be used by servers.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Close(WebSocketSharp.CloseStatusCode)">
+            <summary>
+            Closes the connection with the specified <paramref name="code"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the current state of the connection is
+            Closing or Closed.
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.ServerError"/>.
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              It cannot be used by servers.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Close(System.UInt16,System.String)">
+            <summary>
+            Closes the connection with the specified <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the current state of the connection is
+            Closing or Closed.
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+              <para>
+              <paramref name="code"/> is less than 1000 or greater than 4999.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The size of <paramref name="reason"/> is greater than 123 bytes.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1011 (server error).
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              It cannot be used by servers.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1005 (no status) and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Close(WebSocketSharp.CloseStatusCode,System.String)">
+            <summary>
+            Closes the connection with the specified <paramref name="code"/> and
+            <paramref name="reason"/>.
+            </summary>
+            <remarks>
+            This method does nothing if the current state of the connection is
+            Closing or Closed.
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.ServerError"/>.
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              It cannot be used by servers.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.NoStatus"/> and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="reason"/> is greater than 123 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.CloseAsync">
+            <summary>
+            Closes the connection asynchronously.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the close to be complete.
+              </para>
+              <para>
+              And this method does nothing if the current state of
+              the connection is Closing or Closed.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.CloseAsync(System.UInt16)">
+            <summary>
+            Closes the connection asynchronously with the specified
+            <paramref name="code"/>.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the close to be complete.
+              </para>
+              <para>
+              And this method does nothing if the current state of
+              the connection is Closing or Closed.
+              </para>
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="code"/> is less than 1000 or greater than 4999.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1011 (server error).
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              It cannot be used by servers.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.CloseAsync(WebSocketSharp.CloseStatusCode)">
+            <summary>
+            Closes the connection asynchronously with the specified
+            <paramref name="code"/>.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the close to be complete.
+              </para>
+              <para>
+              And this method does nothing if the current state of
+              the connection is Closing or Closed.
+              </para>
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.ServerError"/>.
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              It cannot be used by servers.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.CloseAsync(System.UInt16,System.String)">
+            <summary>
+            Closes the connection asynchronously with the specified
+            <paramref name="code"/> and <paramref name="reason"/>.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the close to be complete.
+              </para>
+              <para>
+              And this method does nothing if the current state of
+              the connection is Closing or Closed.
+              </para>
+            </remarks>
+            <param name="code">
+              <para>
+              A <see cref="T:System.UInt16"/> that represents the status code
+              indicating the reason for the close.
+              </para>
+              <para>
+              The status codes are defined in
+              <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
+              Section 7.4</see> of RFC 6455.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+              <para>
+              <paramref name="code"/> is less than 1000 or greater than 4999.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The size of <paramref name="reason"/> is greater than 123 bytes.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is 1011 (server error).
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1010 (mandatory extension).
+              It cannot be used by servers.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is 1005 (no status) and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.CloseAsync(WebSocketSharp.CloseStatusCode,System.String)">
+            <summary>
+            Closes the connection asynchronously with the specified
+            <paramref name="code"/> and <paramref name="reason"/>.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the close to be complete.
+              </para>
+              <para>
+              And this method does nothing if the current state of
+              the connection is Closing or Closed.
+              </para>
+            </remarks>
+            <param name="code">
+              <para>
+              One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values.
+              </para>
+              <para>
+              It represents the status code indicating the reason for the close.
+              </para>
+            </param>
+            <param name="reason">
+              <para>
+              A <see cref="T:System.String"/> that represents the reason for the close.
+              </para>
+              <para>
+              The size must be 123 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.ServerError"/>.
+              It cannot be used by clients.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.MandatoryExtension"/>.
+              It cannot be used by servers.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="code"/> is
+              <see cref="F:WebSocketSharp.CloseStatusCode.NoStatus"/> and
+              there is <paramref name="reason"/>.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="reason"/> could not be UTF-8-encoded.
+              </para>
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="reason"/> is greater than 123 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Connect">
+            <summary>
+            Establishes a WebSocket connection.
+            </summary>
+            <remarks>
+            This method is not available in a server.
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.ConnectAsync">
+            <summary>
+            Establishes a WebSocket connection asynchronously.
+            </summary>
+            <remarks>
+              <para>
+              This method does not wait for the connect to be complete.
+              </para>
+              <para>
+              This method is not available in a server.
+              </para>
+            </remarks>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Ping">
+            <summary>
+            Sends a ping using the WebSocket connection.
+            </summary>
+            <returns>
+            <c>true</c> if the send has done with no error and a pong has been
+            received within a time; otherwise, <c>false</c>.
+            </returns>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Ping(System.String)">
+            <summary>
+            Sends a ping with <paramref name="message"/> using the WebSocket
+            connection.
+            </summary>
+            <returns>
+            <c>true</c> if the send has done with no error and a pong has been
+            received within a time; otherwise, <c>false</c>.
+            </returns>
+            <param name="message">
+              <para>
+              A <see cref="T:System.String"/> that represents the message to send.
+              </para>
+              <para>
+              The size must be 125 bytes or less in UTF-8.
+              </para>
+            </param>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="message"/> could not be UTF-8-encoded.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            The size of <paramref name="message"/> is greater than 125 bytes.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Send(System.Byte[])">
+            <summary>
+            Sends <paramref name="data"/> using the WebSocket connection.
+            </summary>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Send(System.IO.FileInfo)">
+            <summary>
+            Sends the specified file using the WebSocket connection.
+            </summary>
+            <remarks>
+            The file is sent as the binary data.
+            </remarks>
+            <param name="fileInfo">
+            A <see cref="T:System.IO.FileInfo"/> that specifies the file to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="fileInfo"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              The file does not exist.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The file could not be opened.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Send(System.String)">
+            <summary>
+            Sends <paramref name="data"/> using the WebSocket connection.
+            </summary>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.Send(System.IO.Stream,System.Int32)">
+            <summary>
+            Sends the data from <paramref name="stream"/> using the WebSocket
+            connection.
+            </summary>
+            <remarks>
+            The data is sent as the binary data.
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="stream"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SendAsync(System.Byte[],System.Action{System.Boolean})">
+            <summary>
+            Sends <paramref name="data"/> asynchronously using the WebSocket
+            connection.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            An array of <see cref="T:System.Byte"/> that represents the binary data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SendAsync(System.IO.FileInfo,System.Action{System.Boolean})">
+            <summary>
+            Sends the specified file asynchronously using the WebSocket connection.
+            </summary>
+            <remarks>
+              <para>
+              The file is sent as the binary data.
+              </para>
+              <para>
+              This method does not wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="fileInfo">
+            A <see cref="T:System.IO.FileInfo"/> that specifies the file to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="fileInfo"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              The file does not exist.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              The file could not be opened.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SendAsync(System.String,System.Action{System.Boolean})">
+            <summary>
+            Sends <paramref name="data"/> asynchronously using the WebSocket
+            connection.
+            </summary>
+            <remarks>
+            This method does not wait for the send to be complete.
+            </remarks>
+            <param name="data">
+            A <see cref="T:System.String"/> that represents the text data to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="data"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+            <paramref name="data"/> could not be UTF-8-encoded.
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SendAsync(System.IO.Stream,System.Int32,System.Action{System.Boolean})">
+            <summary>
+            Sends the data from <paramref name="stream"/> asynchronously using
+            the WebSocket connection.
+            </summary>
+            <remarks>
+              <para>
+              The data is sent as the binary data.
+              </para>
+              <para>
+              This method does not wait for the send to be complete.
+              </para>
+            </remarks>
+            <param name="stream">
+            A <see cref="T:System.IO.Stream"/> instance from which to read the data to send.
+            </param>
+            <param name="length">
+            An <see cref="T:System.Int32"/> that specifies the number of bytes to send.
+            </param>
+            <param name="completed">
+              <para>
+              An <c>Action&lt;bool&gt;</c> delegate or <see langword="null"/>
+              if not needed.
+              </para>
+              <para>
+              The delegate invokes the method called when the send is complete.
+              </para>
+              <para>
+              <c>true</c> is passed to the method if the send has done with
+              no error; otherwise, <c>false</c>.
+              </para>
+            </param>
+            <exception cref="T:System.InvalidOperationException">
+            The current state of the connection is not Open.
+            </exception>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="stream"/> is <see langword="null"/>.
+            </exception>
+            <exception cref="T:System.ArgumentException">
+              <para>
+              <paramref name="stream"/> cannot be read.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              <paramref name="length"/> is less than 1.
+              </para>
+              <para>
+              -or-
+              </para>
+              <para>
+              No data could be read from <paramref name="stream"/>.
+              </para>
+            </exception>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SetCookie(WebSocketSharp.Net.Cookie)">
+            <summary>
+            Sets an HTTP <paramref name="cookie"/> to send with
+            the WebSocket handshake request to the server.
+            </summary>
+            <remarks>
+            This method is not available in a server.
+            </remarks>
+            <param name="cookie">
+            A <see cref="T:WebSocketSharp.Net.Cookie"/> that represents a cookie to send.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SetCredentials(System.String,System.String,System.Boolean)">
+            <summary>
+            Sets a pair of <paramref name="username"/> and <paramref name="password"/> for
+            the HTTP authentication (Basic/Digest).
+            </summary>
+            <remarks>
+            This method is not available in a server.
+            </remarks>
+            <param name="username">
+              <para>
+              A <see cref="T:System.String"/> that represents the user name used to authenticate.
+              </para>
+              <para>
+              If <paramref name="username"/> is <see langword="null"/> or empty,
+              the credentials will be initialized and not be sent.
+              </para>
+            </param>
+            <param name="password">
+            A <see cref="T:System.String"/> that represents the password for
+            <paramref name="username"/> used to authenticate.
+            </param>
+            <param name="preAuth">
+            <c>true</c> if the <see cref="T:WebSocketSharp.WebSocket"/> sends the credentials for
+            the Basic authentication with the first handshake request to the server;
+            otherwise, <c>false</c>.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.SetProxy(System.String,System.String,System.String)">
+            <summary>
+            Sets the HTTP proxy server URL to connect through, and if necessary,
+            a pair of <paramref name="username"/> and <paramref name="password"/> for
+            the proxy server authentication (Basic/Digest).
+            </summary>
+            <remarks>
+            This method is not available in a server.
+            </remarks>
+            <param name="url">
+              <para>
+              A <see cref="T:System.String"/> that represents the HTTP proxy server URL to
+              connect through. The syntax must be http://&lt;host&gt;[:&lt;port&gt;].
+              </para>
+              <para>
+              If <paramref name="url"/> is <see langword="null"/> or empty,
+              the url and credentials for the proxy will be initialized,
+              and the <see cref="T:WebSocketSharp.WebSocket"/> will not use the proxy to
+              connect through.
+              </para>
+            </param>
+            <param name="username">
+              <para>
+              A <see cref="T:System.String"/> that represents the user name used to authenticate.
+              </para>
+              <para>
+              If <paramref name="username"/> is <see langword="null"/> or empty,
+              the credentials for the proxy will be initialized and not be sent.
+              </para>
+            </param>
+            <param name="password">
+            A <see cref="T:System.String"/> that represents the password for
+            <paramref name="username"/> used to authenticate.
+            </param>
+        </member>
+        <member name="M:WebSocketSharp.WebSocket.System#IDisposable#Dispose">
+            <summary>
+            Closes the connection and releases all associated resources.
+            </summary>
+            <remarks>
+              <para>
+              This method closes the connection with close status 1001 (going away).
+              </para>
+              <para>
+              And this method does nothing if the current state of the connection is
+              Closing or Closed.
+              </para>
+            </remarks>
+        </member>
+        <member name="T:WebSocketSharp.WebSocketException">
+            <summary>
+            The exception that is thrown when a fatal error occurs in
+            the WebSocket communication.
+            </summary>
+        </member>
+        <member name="P:WebSocketSharp.WebSocketException.Code">
+            <summary>
+            Gets the status code indicating the cause of the exception.
+            </summary>
+            <value>
+            One of the <see cref="T:WebSocketSharp.CloseStatusCode"/> enum values that represents
+            the status code indicating the cause of the exception.
+            </value>
+        </member>
+        <member name="F:WebSocketSharp.WebSocketFrame.EmptyPingBytes">
+            <summary>
+            Represents the ping frame without the payload data as an array of <see cref="T:System.Byte"/>.
+            </summary>
+            <remarks>
+            The value of this field is created from a non masked frame, so it can only be used to
+            send a ping from a server.
+            </remarks>
+        </member>
+        <member name="T:WebSocketSharp.WebSocketState">
+            <summary>
+            Indicates the state of a WebSocket connection.
+            </summary>
+            <remarks>
+            The values of this enumeration are defined in
+            <see href="http://www.w3.org/TR/websockets/#dom-websocket-readystate">
+            The WebSocket API</see>.
+            </remarks>
+        </member>
+        <member name="F:WebSocketSharp.WebSocketState.Connecting">
+            <summary>
+            Equivalent to numeric value 0. Indicates that the connection has not
+            yet been established.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.WebSocketState.Open">
+            <summary>
+            Equivalent to numeric value 1. Indicates that the connection has
+            been established, and the communication is possible.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.WebSocketState.Closing">
+            <summary>
+            Equivalent to numeric value 2. Indicates that the connection is
+            going through the closing handshake, or the close method has
+            been invoked.
+            </summary>
+        </member>
+        <member name="F:WebSocketSharp.WebSocketState.Closed">
+            <summary>
+            Equivalent to numeric value 3. Indicates that the connection has
+            been closed or could not be established.
+            </summary>
+        </member>
+    </members>
+</doc>
diff --git a/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml.meta b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml.meta
new file mode 100644
index 0000000..f6c9543
--- /dev/null
+++ b/Assets/Packages/WebSocketSharp-netstandard.1.0.1/lib/netstandard2.0/websocket-sharp.xml.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: cf0f4143cd53f4c9683577a5bfbc0649
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity
index c84b8bf..1a95a7c 100644
--- a/Assets/Scenes/MainScene.unity
+++ b/Assets/Scenes/MainScene.unity
@@ -10812,6 +10812,52 @@ Transform:
   - {fileID: 1342061459}
   m_Father: {fileID: 1617586590}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &979159584
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 979159585}
+  - component: {fileID: 979159586}
+  m_Layer: 0
+  m_Name: GameManager
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &979159585
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 979159584}
+  serializedVersion: 2
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: -1.1969378, y: 1.3545454, z: -0.41485047}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!114 &979159586
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 979159584}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 0ecd28734b48f4313bff134f6df55396, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  esp32IPAddress: 10.204.0.249
+  esp32WebsocketPort: 81
 --- !u!1001 &980743549
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -19343,7 +19389,7 @@ PrefabInstance:
     - target: {fileID: 1446526844107249175, guid: 8c24f4efc20ae488386410c07ba7ec0c,
         type: 3}
       propertyPath: m_LocalPosition.x
-      value: -0.313
+      value: 0.2
       objectReference: {fileID: 0}
     - target: {fileID: 1446526844107249175, guid: 8c24f4efc20ae488386410c07ba7ec0c,
         type: 3}
@@ -23867,3 +23913,4 @@ SceneRoots:
   - {fileID: 977726988}
   - {fileID: 1117825302}
   - {fileID: 350103768}
+  - {fileID: 979159585}
diff --git a/Assets/packages.config b/Assets/packages.config
new file mode 100644
index 0000000..c3e3167
--- /dev/null
+++ b/Assets/packages.config
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="WebSocketSharp-netstandard" version="1.0.1" manuallyInstalled="true" />
+</packages>
\ No newline at end of file
diff --git a/Assets/packages.config.meta b/Assets/packages.config.meta
new file mode 100644
index 0000000..e46acc5
--- /dev/null
+++ b/Assets/packages.config.meta
@@ -0,0 +1,23 @@
+fileFormatVersion: 2
+guid: 19514aafa78aa4bee841c36d9526ca93
+labels:
+- NuGetForUnity
+PluginImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  iconMap: {}
+  executionOrder: {}
+  defineConstraints: []
+  isPreloaded: 0
+  isOverridable: 0
+  isExplicitlyReferenced: 0
+  validateReferences: 1
+  platformData:
+  - first:
+      Any: 
+    second:
+      enabled: 1
+      settings: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Packages/manifest.json b/Packages/manifest.json
index 4eecedb..9f1ede9 100644
--- a/Packages/manifest.json
+++ b/Packages/manifest.json
@@ -1,5 +1,6 @@
 {
   "dependencies": {
+    "com.github-glitchenzo.nugetforunity": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity",
     "com.meta.xr.sdk.all": "60.0.0",
     "com.meta.xr.sdk.interaction.ovr.samples": "62.0.0",
     "com.unity.collab-proxy": "2.2.0",
diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json
index 2edf150..86e344b 100644
--- a/Packages/packages-lock.json
+++ b/Packages/packages-lock.json
@@ -1,5 +1,12 @@
 {
   "dependencies": {
+    "com.github-glitchenzo.nugetforunity": {
+      "version": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity",
+      "depth": 0,
+      "source": "git",
+      "dependencies": {},
+      "hash": "75f68222d0a4bd2b468dbf3e6a17a191d28041ab"
+    },
     "com.meta.xr.mrutilitykit": {
       "version": "60.0.0",
       "depth": 1,