Fix due to the modified WebSocketContext.cs

This commit is contained in:
sta 2013-02-26 11:39:59 +09:00
parent 8232c95cd8
commit 2e8a24a667
93 changed files with 1016 additions and 362 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -458,6 +458,35 @@ namespace WebSocketSharp {
return !(BitConverter.IsLittleEndian ^ (order == ByteOrder.LITTLE)); return !(BitConverter.IsLittleEndian ^ (order == ByteOrder.LITTLE));
} }
/// <summary>
/// Determines whether the specified <see cref="System.Net.IPAddress"/> represents a local IP address.
/// </summary>
/// <returns>
/// <c>true</c> if <paramref name="address"/> represents a local IP address; otherwise, <c>false</c>.
/// </returns>
/// <param name="address">
/// A <see cref="System.Net.IPAddress"/> to test.
/// </param>
/// <exception cref="ArgumentNullException">
/// <paramref name="address"/> is <see langword="null"/>.
/// </exception>
public static bool IsLocal(this System.Net.IPAddress address)
{
if (address.IsNull())
throw new ArgumentNullException("address");
if (System.Net.IPAddress.IsLoopback(address))
return true;
var host = System.Net.Dns.GetHostName();
var addrs = System.Net.Dns.GetHostAddresses(host);
foreach (var addr in addrs)
if (address.Equals(addr))
return true;
return false;
}
/// <summary> /// <summary>
/// Determines whether the specified object is <see langword="null"/>. /// Determines whether the specified object is <see langword="null"/>.
/// </summary> /// </summary>

View File

@ -153,43 +153,46 @@ namespace WebSocketSharp.Net {
} }
} }
// TODO: Always returns false
public bool IsAuthenticated { public bool IsAuthenticated {
// TODO: Always returns false
get { return false; } get { return false; }
} }
/// <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>
public bool IsLocal { public bool IsLocal {
get { return IPAddress.IsLoopback (RemoteEndPoint.Address); } get { return RemoteEndPoint.Address.IsLocal(); }
} }
public bool IsSecureConnection { public bool IsSecureConnection {
get { return context.Connection.IsSecure; } get { return context.Connection.IsSecure; }
} }
/// <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>
public bool IsWebSocketRequest { public bool IsWebSocketRequest {
get { get {
if (method != "GET") return method != "GET"
return false; ? false
: version != HttpVersion.Version11
if (version != HttpVersion.Version11) ? false
return false; : !headers.Exists("Upgrade", "websocket")
? false
if (!headers.Exists("Upgrade", "websocket")) : !headers.Exists("Connection", "Upgrade")
return false; ? false
: !headers.Exists("Host")
if (!headers.Exists("Connection", "Upgrade")) ? false
return false; : !headers.Exists("Sec-WebSocket-Key")
? false
if (!headers.Exists("Host")) : headers.Exists("Sec-WebSocket-Version");
return false;
if (!headers.Exists("Sec-WebSocket-Key"))
return false;
if (!headers.Exists("Sec-WebSocket-Version"))
return false;
return true;
} }
} }

View File

@ -43,8 +43,8 @@ namespace WebSocketSharp.Net.WebSockets {
#region Fields #region Fields
private HttpListenerContext _context; private HttpListenerContext _context;
private WebSocket _socket; private WebSocket _websocket;
private WsStream _stream; private WsStream _wsStream;
#endregion #endregion
@ -53,23 +53,17 @@ namespace WebSocketSharp.Net.WebSockets {
internal HttpListenerWebSocketContext(HttpListenerContext context) internal HttpListenerWebSocketContext(HttpListenerContext context)
{ {
_context = context; _context = context;
_stream = WsStream.CreateServerStream(context); _wsStream = WsStream.CreateServerStream(context);
_socket = new WebSocket(this); _websocket = new WebSocket(this);
} }
#endregion #endregion
#region Internal Properties #region Internal Property
internal HttpListenerContext BaseContext {
get {
return _context;
}
}
internal WsStream Stream { internal WsStream Stream {
get { get {
return _stream; return _wsStream;
} }
} }
@ -137,6 +131,22 @@ namespace WebSocketSharp.Net.WebSockets {
} }
} }
/// <summary>
/// Gets a value indicating whether the WebSocket connection request is valid.
/// </summary>
/// <value>
/// <c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
/// </value>
public override bool IsValid {
get {
return !_context.Request.IsWebSocketRequest
? false
: SecWebSocketKey.IsNullOrEmpty()
? false
: !SecWebSocketVersion.IsNullOrEmpty();
}
}
/// <summary> /// <summary>
/// Gets the value of the Origin header field used in the WebSocket opening handshake. /// Gets the value of the Origin header field used in the WebSocket opening handshake.
/// </summary> /// </summary>
@ -161,6 +171,18 @@ namespace WebSocketSharp.Net.WebSockets {
} }
} }
/// <summary>
/// Gets the collection of query string variables used in the WebSocket opening handshake.
/// </summary>
/// <value>
/// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
/// </value>
public override NameValueCollection QueryString {
get {
return _context.Request.QueryString;
}
}
/// <summary> /// <summary>
/// Gets the WebSocket URI requested by the client. /// Gets the WebSocket URI requested by the client.
/// </summary> /// </summary>
@ -262,10 +284,19 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public override WebSocket WebSocket { public override WebSocket WebSocket {
get { get {
return _socket; return _websocket;
} }
} }
#endregion #endregion
#region Internal Method
internal void Close()
{
_context.Connection.Close(true);
}
#endregion
} }
} }

View File

@ -43,38 +43,32 @@ namespace WebSocketSharp.Net.WebSockets {
{ {
#region Fields #region Fields
private TcpClient _client; private TcpClient _tcpClient;
private bool _isSecure; private bool _isSecure;
private RequestHandshake _request; private RequestHandshake _request;
private WebSocket _socket; private WebSocket _websocket;
private WsStream _stream; private WsStream _wsStream;
#endregion #endregion
#region Constructor #region Constructor
internal TcpListenerWebSocketContext(TcpClient client, bool secure) internal TcpListenerWebSocketContext(TcpClient tcpClient, bool secure)
{ {
_client = client; _tcpClient = tcpClient;
_isSecure = secure; _isSecure = secure;
_stream = WsStream.CreateServerStream(client, secure); _wsStream = WsStream.CreateServerStream(tcpClient, secure);
_request = RequestHandshake.Parse(_stream.ReadHandshake()); _request = RequestHandshake.Parse(_wsStream.ReadHandshake());
_socket = new WebSocket(this); _websocket = new WebSocket(this);
} }
#endregion #endregion
#region Internal Properties #region Internal Properties
internal TcpClient Client {
get {
return _client;
}
}
internal WsStream Stream { internal WsStream Stream {
get { get {
return _stream; return _wsStream;
} }
} }
@ -130,12 +124,9 @@ namespace WebSocketSharp.Net.WebSockets {
/// <value> /// <value>
/// <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>. /// <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
/// </value> /// </value>
/// <exception cref="NotImplementedException">
/// This property is not implemented.
/// </exception>
public override bool IsLocal { public override bool IsLocal {
get { get {
throw new NotImplementedException(); return UserEndPoint.Address.IsLocal();
} }
} }
@ -151,6 +142,22 @@ namespace WebSocketSharp.Net.WebSockets {
} }
} }
/// <summary>
/// Gets a value indicating whether the WebSocket connection request is valid.
/// </summary>
/// <value>
/// <c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
/// </value>
public override bool IsValid {
get {
return !_request.IsWebSocketRequest
? false
: SecWebSocketKey.IsNullOrEmpty()
? false
: !SecWebSocketVersion.IsNullOrEmpty();
}
}
/// <summary> /// <summary>
/// Gets the value of the Origin header field used in the WebSocket opening handshake. /// Gets the value of the Origin header field used in the WebSocket opening handshake.
/// </summary> /// </summary>
@ -175,6 +182,18 @@ namespace WebSocketSharp.Net.WebSockets {
} }
} }
/// <summary>
/// Gets the collection of query string variables used in the WebSocket opening handshake.
/// </summary>
/// <value>
/// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
/// </value>
public override NameValueCollection QueryString {
get {
return _request.QueryString;
}
}
/// <summary> /// <summary>
/// Gets the WebSocket URI requested by the client. /// Gets the WebSocket URI requested by the client.
/// </summary> /// </summary>
@ -240,7 +259,7 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public virtual System.Net.IPEndPoint ServerEndPoint { public virtual System.Net.IPEndPoint ServerEndPoint {
get { get {
return (System.Net.IPEndPoint)_client.Client.LocalEndPoint; return (System.Net.IPEndPoint)_tcpClient.Client.LocalEndPoint;
} }
} }
@ -267,7 +286,7 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public virtual System.Net.IPEndPoint UserEndPoint { public virtual System.Net.IPEndPoint UserEndPoint {
get { get {
return (System.Net.IPEndPoint)_client.Client.RemoteEndPoint; return (System.Net.IPEndPoint)_tcpClient.Client.RemoteEndPoint;
} }
} }
@ -279,10 +298,20 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public override WebSocket WebSocket { public override WebSocket WebSocket {
get { get {
return _socket; return _websocket;
} }
} }
#endregion #endregion
#region Internal Method
internal void Close()
{
_wsStream.Close();
_tcpClient.Close();
}
#endregion
} }
} }

View File

@ -94,6 +94,14 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public abstract bool IsSecureConnection { get; } public abstract bool IsSecureConnection { get; }
/// <summary>
/// Gets a value indicating whether the WebSocket connection request is valid.
/// </summary>
/// <value>
/// <c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
/// </value>
public abstract bool IsValid { get; }
/// <summary> /// <summary>
/// Gets the value of the Origin header field used in the WebSocket opening handshake. /// Gets the value of the Origin header field used in the WebSocket opening handshake.
/// </summary> /// </summary>
@ -102,6 +110,14 @@ namespace WebSocketSharp.Net.WebSockets {
/// </value> /// </value>
public abstract string Origin { get; } public abstract string Origin { get; }
/// <summary>
/// Gets the collection of query string variables used in the WebSocket opening handshake.
/// </summary>
/// <value>
/// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
/// </value>
public abstract NameValueCollection QueryString { get; }
/// <summary> /// <summary>
/// Gets the WebSocket URI requested by the client. /// Gets the WebSocket URI requested by the client.
/// </summary> /// </summary>

View File

@ -68,30 +68,20 @@ namespace WebSocketSharp {
public string HttpMethod { get; private set; } public string HttpMethod { get; private set; }
public bool IsWebSocketRequest { public bool IsWebSocketRequest {
get { get {
if (HttpMethod != "GET") return HttpMethod != "GET"
return false; ? false
: ProtocolVersion != HttpVersion.Version11
if (ProtocolVersion != HttpVersion.Version11) ? false
return false; : !HeaderExists("Upgrade", "websocket")
? false
if (!HeaderExists("Upgrade", "websocket")) : !HeaderExists("Connection", "Upgrade")
return false; ? false
: !HeaderExists("Host")
if (!HeaderExists("Connection", "Upgrade")) ? false
return false; : !HeaderExists("Sec-WebSocket-Key")
? false
if (!HeaderExists("Host")) : HeaderExists("Sec-WebSocket-Version");
return false;
if (!HeaderExists("Sec-WebSocket-Key"))
return false;
if (!HeaderExists("Sec-WebSocket-Version"))
return false;
return true;
} }
} }
@ -125,10 +115,9 @@ namespace WebSocketSharp {
public string RawUrl { public string RawUrl {
get { get {
if (RequestUri.IsAbsoluteUri) return RequestUri.IsAbsoluteUri
return RequestUri.PathAndQuery; ? RequestUri.PathAndQuery
: RequestUri.OriginalString;
return RequestUri.OriginalString;
} }
} }

View File

@ -353,7 +353,6 @@ namespace WebSocketSharp.Server {
{ {
var res = context.Response; var res = context.Response;
var wsContext = context.AcceptWebSocket(); var wsContext = context.AcceptWebSocket();
var socket = wsContext.WebSocket;
var path = wsContext.Path.UrlDecode(); var path = wsContext.Path.UrlDecode();
IServiceHost svcHost; IServiceHost svcHost;
@ -363,7 +362,7 @@ namespace WebSocketSharp.Server {
return false; return false;
} }
svcHost.BindWebSocket(socket); svcHost.BindWebSocket(wsContext);
return true; return true;
} }

View File

@ -27,11 +27,12 @@
#endregion #endregion
using System; using System;
using WebSocketSharp.Net.WebSockets;
namespace WebSocketSharp.Server { namespace WebSocketSharp.Server {
/// <summary> /// <summary>
/// Exposes the methods and property for the WebSocket service host. /// Exposes the methods and property for the host that provides a <see cref="WebSocketService"/>.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// </remarks> /// </remarks>
@ -46,12 +47,12 @@ namespace WebSocketSharp.Server {
bool Sweeped { get; set; } bool Sweeped { get; set; }
/// <summary> /// <summary>
/// Binds the specified <see cref="WebSocket"/> to the WebSocket service instance. /// Binds the specified <see cref="WebSocketContext"/> to a <see cref="WebSocketService"/> instance.
/// </summary> /// </summary>
/// <param name="socket"> /// <param name="context">
/// A <see cref="WebSocketSharp.WebSocket"/> to bind. /// A <see cref="WebSocketContext"/> that contains the WebSocket connection request objects to bind.
/// </param> /// </param>
void BindWebSocket(WebSocket socket); void BindWebSocket(WebSocketContext context);
/// <summary> /// <summary>
/// Broadcasts the specified <see cref="string"/> to all service clients. /// Broadcasts the specified <see cref="string"/> to all service clients.

View File

@ -191,27 +191,27 @@ namespace WebSocketSharp.Server {
#region Protected Method #region Protected Method
/// <summary> /// <summary>
/// Accepts a WebSocket connection. /// Accepts a WebSocket connection request.
/// </summary> /// </summary>
/// <param name="context"> /// <param name="context">
/// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects. /// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects.
/// </param> /// </param>
protected override void AcceptWebSocket(TcpListenerWebSocketContext context) protected override void AcceptWebSocket(TcpListenerWebSocketContext context)
{ {
var socket = context.WebSocket; var websocket = context.WebSocket;
var path = context.Path.UrlDecode(); var path = context.Path.UrlDecode();
IServiceHost svcHost; IServiceHost svcHost;
if (!_svcHosts.TryGetServiceHost(path, out svcHost)) if (!_svcHosts.TryGetServiceHost(path, out svcHost))
{ {
socket.Close(HttpStatusCode.NotImplemented); websocket.Close(HttpStatusCode.NotImplemented);
return; return;
} }
if (BaseUri.IsAbsoluteUri) if (BaseUri.IsAbsoluteUri)
socket.Url = new Uri(BaseUri, path); websocket.Url = new Uri(BaseUri, path);
svcHost.BindWebSocket(socket); svcHost.BindWebSocket(context);
} }
#endregion #endregion

View File

@ -336,7 +336,7 @@ namespace WebSocketSharp.Server {
#region Protected Methods #region Protected Methods
/// <summary> /// <summary>
/// Accepts a WebSocket connection. /// Accepts a WebSocket connection request.
/// </summary> /// </summary>
/// <param name="context"> /// <param name="context">
/// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects. /// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects.

View File

@ -30,6 +30,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Threading; using System.Threading;
using WebSocketSharp.Net.WebSockets;
namespace WebSocketSharp.Server { namespace WebSocketSharp.Server {
@ -43,8 +44,9 @@ namespace WebSocketSharp.Server {
#region Private Fields #region Private Fields
private WebSocketContext _context;
private WebSocketServiceManager _sessions; private WebSocketServiceManager _sessions;
private WebSocket _socket; private WebSocket _websocket;
#endregion #endregion
@ -64,26 +66,30 @@ namespace WebSocketSharp.Server {
#region Protected Properties #region Protected Properties
/// <summary> /// <summary>
/// Gets the HTTP query string variables used in the WebSocket opening handshake. /// Gets the collection of query string variables used in the WebSocket opening handshake.
/// </summary> /// </summary>
/// <value> /// <value>
/// A <see cref="NameValueCollection"/> that contains the query string variables. /// A <see cref="NameValueCollection"/> that contains the collection of query string variables.
/// </value> /// </value>
protected NameValueCollection QueryString { protected NameValueCollection QueryString {
get { get {
return IsBound ? _socket.QueryString : null; return IsBound
? _context.QueryString
: null;
} }
} }
/// <summary> /// <summary>
/// Gets the sessions to the WebSocket service. /// Gets the sessions to the <see cref="WebSocketService"/>.
/// </summary> /// </summary>
/// <value> /// <value>
/// A <see cref="WebSocketServiceManager"/> that contains the sessions to the WebSocket service. /// A <see cref="WebSocketServiceManager"/> that contains the sessions to the the <see cref="WebSocketService"/>.
/// </value> /// </value>
protected WebSocketServiceManager Sessions { protected WebSocketServiceManager Sessions {
get { get {
return IsBound ? _sessions : null; return IsBound
? _sessions
: null;
} }
} }
@ -137,30 +143,31 @@ namespace WebSocketSharp.Server {
#region Internal Methods #region Internal Methods
internal void Bind(WebSocket socket, WebSocketServiceManager sessions) internal void Bind(WebSocketContext context, WebSocketServiceManager sessions)
{ {
if (IsBound) if (IsBound)
return; return;
_socket = socket; _context = context;
_sessions = sessions; _sessions = sessions;
_websocket = context.WebSocket;
_socket.OnOpen += onOpen; _websocket.OnOpen += onOpen;
_socket.OnMessage += onMessage; _websocket.OnMessage += onMessage;
_socket.OnError += onError; _websocket.OnError += onError;
_socket.OnClose += onClose; _websocket.OnClose += onClose;
IsBound = true; IsBound = true;
} }
internal void SendAsync(byte[] data, Action completed) internal void SendAsync(byte[] data, Action completed)
{ {
_socket.SendAsync(data, completed); _websocket.SendAsync(data, completed);
} }
internal void SendAsync(string data, Action completed) internal void SendAsync(string data, Action completed)
{ {
_socket.SendAsync(data, completed); _websocket.SendAsync(data, completed);
} }
#endregion #endregion
@ -288,7 +295,7 @@ namespace WebSocketSharp.Server {
public bool Ping(string message) public bool Ping(string message)
{ {
return IsBound return IsBound
? _socket.Ping(message) ? _websocket.Ping(message)
: false; : false;
} }
@ -340,7 +347,7 @@ namespace WebSocketSharp.Server {
public void Send(byte[] data) public void Send(byte[] data)
{ {
if (IsBound) if (IsBound)
_socket.Send(data); _websocket.Send(data);
} }
/// <summary> /// <summary>
@ -352,7 +359,7 @@ namespace WebSocketSharp.Server {
public void Send(string data) public void Send(string data)
{ {
if (IsBound) if (IsBound)
_socket.Send(data); _websocket.Send(data);
} }
/// <summary> /// <summary>
@ -401,7 +408,7 @@ namespace WebSocketSharp.Server {
public void Start() public void Start()
{ {
if (IsBound) if (IsBound)
_socket.Connect(); _websocket.Connect();
} }
/// <summary> /// <summary>
@ -412,7 +419,7 @@ namespace WebSocketSharp.Server {
if (!IsBound) if (!IsBound)
return; return;
_socket.Close(); _websocket.Close();
} }
/// <summary> /// <summary>
@ -429,7 +436,7 @@ namespace WebSocketSharp.Server {
if (!IsBound) if (!IsBound)
return; return;
_socket.Close(code, reason); _websocket.Close(code, reason);
} }
/// <summary> /// <summary>

View File

@ -229,15 +229,15 @@ namespace WebSocketSharp.Server {
#region Explicit Interface Implementation #region Explicit Interface Implementation
/// <summary> /// <summary>
/// Binds the specified <see cref="WebSocket"/> to the WebSocket service instance. /// Binds the specified <see cref="WebSocketContext"/> to a <see cref="WebSocketService"/> instance.
/// </summary> /// </summary>
/// <param name="socket"> /// <param name="context">
/// A <see cref="WebSocket"/> to bind. /// A <see cref="WebSocketContext"/> that contains the WebSocket connection request objects to bind.
/// </param> /// </param>
void IServiceHost.BindWebSocket(WebSocket socket) void IServiceHost.BindWebSocket(WebSocketContext context)
{ {
T service = new T(); T service = new T();
service.Bind(socket, _sessions); service.Bind(context, _sessions);
service.Start(); service.Start();
} }
@ -246,25 +246,25 @@ namespace WebSocketSharp.Server {
#region Protected Method #region Protected Method
/// <summary> /// <summary>
/// Accepts a WebSocket connection. /// Accepts a WebSocket connection request.
/// </summary> /// </summary>
/// <param name="context"> /// <param name="context">
/// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects. /// A <see cref="TcpListenerWebSocketContext"/> that contains the WebSocket connection request objects.
/// </param> /// </param>
protected override void AcceptWebSocket(TcpListenerWebSocketContext context) protected override void AcceptWebSocket(TcpListenerWebSocketContext context)
{ {
var socket = context.WebSocket; var websocket = context.WebSocket;
var path = context.Path.UrlDecode(); var path = context.Path.UrlDecode();
if (path != Uri.GetAbsolutePath().UrlDecode()) if (path != Uri.GetAbsolutePath().UrlDecode())
{ {
socket.Close(HttpStatusCode.NotImplemented); websocket.Close(HttpStatusCode.NotImplemented);
return; return;
} }
if (Uri.IsAbsoluteUri) if (Uri.IsAbsoluteUri)
socket.Url = Uri; websocket.Url = Uri;
((IServiceHost)this).BindWebSocket(socket); ((IServiceHost)this).BindWebSocket(context);
} }
#endregion #endregion

View File

@ -65,9 +65,8 @@ namespace WebSocketSharp {
#region Private Fields #region Private Fields
private string _base64key; private string _base64key;
private HttpListenerContext _httpContext; private Action _closeContext;
private WebSocketContext _context; private WebSocketContext _context;
private System.Net.IPEndPoint _endPoint;
private string _extensions; private string _extensions;
private AutoResetEvent _exitMessageLoop; private AutoResetEvent _exitMessageLoop;
private Object _forClose; private Object _forClose;
@ -76,7 +75,6 @@ namespace WebSocketSharp {
private bool _isSecure; private bool _isSecure;
private string _protocol; private string _protocol;
private string _protocols; private string _protocols;
private NameValueCollection _queryString;
private volatile WsState _readyState; private volatile WsState _readyState;
private AutoResetEvent _receivePong; private AutoResetEvent _receivePong;
private TcpClient _tcpClient; private TcpClient _tcpClient;
@ -103,25 +101,17 @@ namespace WebSocketSharp {
internal WebSocket(HttpListenerWebSocketContext context) internal WebSocket(HttpListenerWebSocketContext context)
: this() : this()
{ {
_uri = context.Path.ToUri();
_context = context;
_httpContext = context.BaseContext;
_wsStream = context.Stream; _wsStream = context.Stream;
_endPoint = context.ServerEndPoint; _closeContext = () => context.Close();
_isClient = false; init(context);
_isSecure = context.IsSecureConnection;
} }
internal WebSocket(TcpListenerWebSocketContext context) internal WebSocket(TcpListenerWebSocketContext context)
: this() : this()
{ {
_uri = context.Path.ToUri();
_context = context;
_tcpClient = context.Client;
_wsStream = context.Stream; _wsStream = context.Stream;
_endPoint = context.ServerEndPoint; _closeContext = () => context.Close();
_isClient = false; init(context);
_isSecure = context.IsSecureConnection;
} }
#endregion #endregion
@ -207,16 +197,6 @@ namespace WebSocketSharp {
#endregion #endregion
#region Internal Property
internal NameValueCollection QueryString {
get {
return _queryString;
}
}
#endregion
#region Public Properties #region Public Properties
/// <summary> /// <summary>
@ -292,6 +272,7 @@ namespace WebSocketSharp {
get { get {
return _uri; return _uri;
} }
internal set { internal set {
if (_readyState == WsState.CONNECTING && !_isClient) if (_readyState == WsState.CONNECTING && !_isClient)
_uri = value; _uri = value;
@ -329,15 +310,8 @@ namespace WebSocketSharp {
// As Server // As Server
private void acceptHandshake() private void acceptHandshake()
{ {
var req = receiveOpeningHandshake(); if (!receiveOpeningHandshake())
string msg;
if (!isValidRequest(req, out msg))
{
onError(msg);
close(CloseStatusCode.ABNORMAL, msg);
return; return;
}
sendResponseHandshake(); sendResponseHandshake();
onOpen(); onOpen();
@ -363,7 +337,7 @@ namespace WebSocketSharp {
return; return;
sendResponseHandshake(code); sendResponseHandshake(code);
closeConnection(); closeResources();
} }
private void close(PayloadData data) private void close(PayloadData data)
@ -428,19 +402,37 @@ namespace WebSocketSharp {
close(payloadData); close(payloadData);
} }
private bool closeConnection() private void closeHandshake(PayloadData data)
{
var args = new CloseEventArgs(data);
var frame = createFrame(Fin.FINAL, Opcode.CLOSE, data);
send(frame);
onClose(args);
}
private bool closeResources()
{ {
_readyState = WsState.CLOSED; _readyState = WsState.CLOSED;
try try
{ {
if (!_httpContext.IsNull()) if (_isClient)
closeResourcesAsClient();
else
closeResourcesAsServer();
return true;
}
catch (Exception ex)
{ {
_httpContext.Response.Close(); onError(ex.Message);
_wsStream = null; return false;
_httpContext = null; }
} }
// As Client
private void closeResourcesAsClient()
{
if (!_wsStream.IsNull()) if (!_wsStream.IsNull())
{ {
_wsStream.Dispose(); _wsStream.Dispose();
@ -452,22 +444,17 @@ namespace WebSocketSharp {
_tcpClient.Close(); _tcpClient.Close();
_tcpClient = null; _tcpClient = null;
} }
return true;
}
catch (Exception ex)
{
onError(ex.Message);
return false;
}
} }
private void closeHandshake(PayloadData data) // As Server
private void closeResourcesAsServer()
{ {
var args = new CloseEventArgs(data); if (!_context.IsNull() && !_closeContext.IsNull())
var frame = createFrame(Fin.FINAL, Opcode.CLOSE, data); {
send(frame); _closeContext();
onClose(args); _wsStream = null;
_context = null;
}
} }
// As Client // As Client
@ -562,6 +549,16 @@ namespace WebSocketSharp {
onOpen(); onOpen();
} }
// As Server
private void init(WebSocketContext context)
{
_context = context;
_isSecure = context.IsSecureConnection;
_uri = "/".ToUri();
_isClient = false;
}
private bool isValidCloseStatusCode(ushort code, out string message) private bool isValidCloseStatusCode(ushort code, out string message)
{ {
if (code < 1000) if (code < 1000)
@ -594,65 +591,33 @@ namespace WebSocketSharp {
} }
// As Server // As Server
private bool isValidRequest(RequestHandshake request, out string message) private bool isValidRequest()
{ {
if (!request.IsWebSocketRequest) return !_context.IsValid
{ ? false
message = "Invalid WebSocket request."; : !isValidRequestHostHeader()
return false; ? false
} : _context.Headers.Exists("Sec-WebSocket-Version", _version);
if (_uri.IsAbsoluteUri && !isValidRequestHost(request.Headers["Host"], out message))
return false;
if (!request.HeaderExists("Sec-WebSocket-Version", _version))
{
message = "Unsupported Sec-WebSocket-Version.";
return false;
}
_base64key = request.Headers["Sec-WebSocket-Key"];
if (request.HeaderExists("Sec-WebSocket-Protocol"))
_protocols = request.Headers["Sec-WebSocket-Protocol"];
if (request.HeaderExists("Sec-WebSocket-Extensions"))
_extensions = request.Headers["Sec-WebSocket-Extensions"];
_queryString = request.QueryString;
message = String.Empty;
return true;
} }
// As Server // As Server
private bool isValidRequestHost(string value, out string message) private bool isValidRequestHostHeader()
{ {
var host = _uri.DnsSafeHost; var authority = _context.Headers["Host"];
var type = Uri.CheckHostName(host); if (authority.IsNullOrEmpty() || !_uri.IsAbsoluteUri)
var address = _endPoint.Address;
var port = _endPoint.Port;
var expectedHost1 = host;
var expectedHost2 = type == UriHostNameType.Dns
? address.ToString()
: System.Net.Dns.GetHostEntry(address).HostName;
if (port != 80)
{
expectedHost1 += ":" + port;
expectedHost2 += ":" + port;
}
if (expectedHost1.NotEqual(value, false) &&
expectedHost2.NotEqual(value, false))
{
message = "Invalid Host.";
return false;
}
message = String.Empty;
return true; return true;
var i = authority.IndexOf(':');
var host = i > 0
? authority.Substring(0, i)
: authority;
var type = Uri.CheckHostName(host);
return type != UriHostNameType.Dns
? true
: Uri.CheckHostName(_uri.DnsSafeHost) != UriHostNameType.Dns
? true
: host == _uri.DnsSafeHost;
} }
// As Client // As Client
@ -693,7 +658,7 @@ namespace WebSocketSharp {
if (!_exitMessageLoop.IsNull()) if (!_exitMessageLoop.IsNull())
_exitMessageLoop.WaitOne(5 * 1000); _exitMessageLoop.WaitOne(5 * 1000);
if (closeConnection()) if (closeResources())
eventArgs.WasClean = true; eventArgs.WasClean = true;
OnClose.Emit(this, eventArgs); OnClose.Emit(this, eventArgs);
@ -879,14 +844,28 @@ namespace WebSocketSharp {
} }
// As Server // As Server
private RequestHandshake receiveOpeningHandshake() private bool receiveOpeningHandshake()
{ {
var req = RequestHandshake.Parse(_context);
#if DEBUG #if DEBUG
var req = RequestHandshake.Parse(_context);
Console.WriteLine("WS: Info@receiveOpeningHandshake: Opening handshake from client:\n"); Console.WriteLine("WS: Info@receiveOpeningHandshake: Opening handshake from client:\n");
Console.WriteLine(req.ToString()); Console.WriteLine(req.ToString());
#endif #endif
return req; if (!isValidRequest())
{
onError("Invalid WebSocket connection request.");
close(HttpStatusCode.BadRequest);
return false;
}
_base64key = _context.SecWebSocketKey;
if (_context.Headers.Exists("Sec-WebSocket-Protocol"))
_protocols = _context.Headers["Sec-WebSocket-Protocol"];
if (_context.Headers.Exists("Sec-WebSocket-Extensions"))
_extensions = _context.Headers["Sec-WebSocket-Extensions"];
return true;
} }
// As Client // As Client

View File

@ -223,6 +223,20 @@
A <see cref="T:WebSocketSharp.ByteOrder" /> to test. A <see cref="T:WebSocketSharp.ByteOrder" /> to test.
</param> </param>
</member> </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>
<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>
<exception cref="T:System.ArgumentNullException">
<paramref name="address" /> is <see langword="null" />.
</exception>
</member>
<member name="M:WebSocketSharp.Ext.IsNull``1(``0)"> <member name="M:WebSocketSharp.Ext.IsNull``1(``0)">
<summary> <summary>
Determines whether the specified object is <see langword="null" />. Determines whether the specified object is <see langword="null" />.
@ -1131,7 +1145,7 @@
</member> </member>
<member name="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)"> <member name="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<param name="context"> <param name="context">
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
@ -1176,18 +1190,18 @@
</member> </member>
<member name="P:WebSocketSharp.Server.WebSocketService.QueryString"> <member name="P:WebSocketSharp.Server.WebSocketService.QueryString">
<summary> <summary>
Gets the HTTP query string variables used in the WebSocket opening handshake. Gets the collection of query string variables used in the WebSocket opening handshake.
</summary> </summary>
<value> <value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the query string variables. A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Server.WebSocketService.Sessions"> <member name="P:WebSocketSharp.Server.WebSocketService.Sessions">
<summary> <summary>
Gets the sessions to the WebSocket service. Gets the sessions to the <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</summary> </summary>
<value> <value>
A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager" /> that contains the sessions to the WebSocket service. A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager" /> that contains the sessions to the the <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Server.WebSocketService.ID"> <member name="P:WebSocketSharp.Server.WebSocketService.ID">
@ -1817,6 +1831,22 @@
The <see cref="T:WebSocketSharp.Net.HttpListener" /> associated with this <see cref="T:WebSocketSharp.Net.HttpListenerPrefixCollection" /> is closed. The <see cref="T:WebSocketSharp.Net.HttpListener" /> associated with this <see cref="T:WebSocketSharp.Net.HttpListenerPrefixCollection" /> is closed.
</exception> </exception>
</member> </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.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="M:WebSocketSharp.Net.HttpUtility.HtmlDecode(System.String)"> <member name="M:WebSocketSharp.Net.HttpUtility.HtmlDecode(System.String)">
<summary> <summary>
Decodes an HTML-encoded string and returns the decoded string. Decodes an HTML-encoded string and returns the decoded string.
@ -2444,7 +2474,7 @@
</member> </member>
<member name="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)"> <member name="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<param name="context"> <param name="context">
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
@ -2470,7 +2500,7 @@
</member> </member>
<member name="T:WebSocketSharp.Server.IServiceHost"> <member name="T:WebSocketSharp.Server.IServiceHost">
<summary> <summary>
Exposes the methods and property for the WebSocket service host. Exposes the methods and property for the host that provides a <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</summary> </summary>
<remarks> <remarks>
</remarks> </remarks>
@ -2483,12 +2513,12 @@
<c>true</c> if the WebSocket service host cleans up the inactive service clients periodically; otherwise, <c>false</c>. <c>true</c> if the WebSocket service host cleans up the inactive service clients periodically; otherwise, <c>false</c>.
</value> </value>
</member> </member>
<member name="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket)"> <member name="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">
<summary> <summary>
Binds the specified <see cref="T:WebSocketSharp.WebSocket" /> to the WebSocket service instance. Binds the specified <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> to a <see cref="T:WebSocketSharp.Server.WebSocketService" /> instance.
</summary> </summary>
<param name="socket"> <param name="context">
A <see cref="T:WebSocketSharp.WebSocket" /> to bind. A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> that contains the WebSocket connection request objects to bind.
</param> </param>
</member> </member>
<member name="M:WebSocketSharp.Server.IServiceHost.Broadcast(System.String)"> <member name="M:WebSocketSharp.Server.IServiceHost.Broadcast(System.String)">
@ -2627,17 +2657,17 @@
A <see cref="T:System.Uri" /> that contains a WebSocket URL. A <see cref="T:System.Uri" /> that contains a WebSocket URL.
</value> </value>
</member> </member>
<member name="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket)"> <member name="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">
<summary> <summary>
Binds the specified <see cref="T:WebSocketSharp.WebSocket" /> to the WebSocket service instance. Binds the specified <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> to a <see cref="T:WebSocketSharp.Server.WebSocketService" /> instance.
</summary> </summary>
<param name="socket"> <param name="context">
A <see cref="T:WebSocketSharp.WebSocket" /> to bind. A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> that contains the WebSocket connection request objects to bind.
</param> </param>
</member> </member>
<member name="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)"> <member name="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<param name="context"> <param name="context">
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
@ -2844,6 +2874,14 @@
<c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>. <c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid">
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin"> <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin">
<summary> <summary>
Gets the value of the Origin header field used in the WebSocket opening handshake. Gets the value of the Origin header field used in the WebSocket opening handshake.
@ -2860,6 +2898,14 @@
A <see cref="T:System.String" /> that contains the absolute path. A <see cref="T:System.String" /> that contains the absolute path.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString">
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri"> <member name="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri">
<summary> <summary>
Gets the WebSocket URI requested by the client. Gets the WebSocket URI requested by the client.
@ -2977,9 +3023,6 @@
<value> <value>
<c>true</c> if the client connected from the local computer; otherwise, <c>false</c>. <c>true</c> if the client connected from the local computer; otherwise, <c>false</c>.
</value> </value>
<exception cref="T:System.NotImplementedException">
This property is not implemented.
</exception>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsSecureConnection"> <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsSecureConnection">
<summary> <summary>
@ -2989,6 +3032,14 @@
<c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>. <c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid">
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin"> <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin">
<summary> <summary>
Gets the value of the Origin header field used in the WebSocket opening handshake. Gets the value of the Origin header field used in the WebSocket opening handshake.
@ -3005,6 +3056,14 @@
A <see cref="T:System.String" /> that contains the absolute path. A <see cref="T:System.String" /> that contains the absolute path.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString">
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri"> <member name="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri">
<summary> <summary>
Gets the WebSocket URI requested by the client. Gets the WebSocket URI requested by the client.
@ -3134,6 +3193,14 @@
<c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>. <c>true</c> if the WebSocket connection is secured; otherwise, <c>false</c>.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid">
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin"> <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin">
<summary> <summary>
Gets the value of the Origin header field used in the WebSocket opening handshake. Gets the value of the Origin header field used in the WebSocket opening handshake.
@ -3142,6 +3209,14 @@
A <see cref="T:System.String" /> that contains the value of the Origin header field. A <see cref="T:System.String" /> that contains the value of the Origin header field.
</value> </value>
</member> </member>
<member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
</member>
<member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri"> <member name="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri">
<summary> <summary>
Gets the WebSocket URI requested by the client. Gets the WebSocket URI requested by the client.

View File

@ -368,6 +368,34 @@
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>. </i>.
Gets a value indicating whether the WebSocket connection is secured. Gets a value indicating whether the WebSocket connection is secured.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr>
<tr valign="top">
<td>[read-only]<div>override </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid">IsValid</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>.
Gets a value indicating whether the WebSocket connection request is valid.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html#P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid">IsValid</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>.
Gets a value indicating whether the WebSocket connection request is valid.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td> (<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -411,6 +439,34 @@
</i>. </i>.
Gets the absolute path of the requested WebSocket URI. Gets the absolute path of the requested WebSocket URI.
</td> </td>
</tr>
<tr valign="top">
<td>[read-only]<div>override </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString">QueryString</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>.
Gets the collection of query string variables used in the WebSocket opening handshake.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html#P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">QueryString</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>.
Gets the collection of query string variables used in the WebSocket opening handshake.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>[read-only]<div>override </div></td> <td>[read-only]<div>override </div></td>
@ -746,6 +802,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid">IsValid Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid:member">
<p class="Summary">
Gets a value indicating whether the WebSocket connection request is valid.
</p>
<h2>Syntax</h2>
<div class="Signature">public override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsValid</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid:Value">
<tt>true</tt> if the WebSocket connection request is valid; otherwise, <tt>false</tt>.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.IsValid:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin">Origin Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin">Origin Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.Origin:member">
<p class="Summary"> <p class="Summary">
@ -786,6 +862,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString">QueryString Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString:member">
<p class="Summary">
Gets the collection of query string variables used in the WebSocket opening handshake.
</p>
<h2>Syntax</h2>
<div class="Signature">public override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <b>QueryString</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString:Value">
A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> that contains the collection of query string variables.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.QueryString:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri">RequestUri Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri">RequestUri Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.HttpListenerWebSocketContext.RequestUri:member">
<p class="Summary"> <p class="Summary">

View File

@ -368,6 +368,34 @@
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>. </i>.
Gets a value indicating whether the WebSocket connection is secured. Gets a value indicating whether the WebSocket connection is secured.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr>
<tr valign="top">
<td>[read-only]<div>override </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid">IsValid</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>.
Gets a value indicating whether the WebSocket connection request is valid.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html#P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid">IsValid</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>.
Gets a value indicating whether the WebSocket connection request is valid.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td> (<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -411,6 +439,34 @@
</i>. </i>.
Gets the absolute path of the requested WebSocket URI. Gets the absolute path of the requested WebSocket URI.
</td> </td>
</tr>
<tr valign="top">
<td>[read-only]<div>override </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString">QueryString</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>.
Gets the collection of query string variables used in the WebSocket opening handshake.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html#P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">QueryString</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>.
Gets the collection of query string variables used in the WebSocket opening handshake.
(<i>Inherited from <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketContext</a>.</i>)</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>[read-only]<div>override </div></td> <td>[read-only]<div>override </div></td>
@ -797,6 +853,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid">IsValid Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid:member">
<p class="Summary">
Gets a value indicating whether the WebSocket connection request is valid.
</p>
<h2>Syntax</h2>
<div class="Signature">public override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsValid</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid:Value">
<tt>true</tt> if the WebSocket connection request is valid; otherwise, <tt>false</tt>.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.IsValid:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin">Origin Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin">Origin Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.Origin:member">
<p class="Summary"> <p class="Summary">
@ -837,6 +913,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString">QueryString Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString:member">
<p class="Summary">
Gets the collection of query string variables used in the WebSocket opening handshake.
</p>
<h2>Syntax</h2>
<div class="Signature">public override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <b>QueryString</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString:Value">
A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> that contains the collection of query string variables.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.QueryString:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri">RequestUri Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri">RequestUri Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext.RequestUri:member">
<p class="Summary"> <p class="Summary">

View File

@ -321,6 +321,20 @@
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>. </i>.
Gets a value indicating whether the WebSocket connection is secured. Gets a value indicating whether the WebSocket connection is secured.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid">IsValid</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>.
Gets a value indicating whether the WebSocket connection request is valid.
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -335,6 +349,20 @@
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String">string</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String">string</a>
</i>. </i>.
Gets the value of the Origin header field used in the WebSocket opening handshake. Gets the value of the Origin header field used in the WebSocket opening handshake.
</td>
</tr>
<tr valign="top">
<td>[read-only]<div>abstract </div></td>
<td>
<b>
<a href="#P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">QueryString</a>
</b>
</td>
<td>
<i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>.
Gets the collection of query string variables used in the WebSocket opening handshake.
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -575,6 +603,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid">IsValid Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid:member">
<p class="Summary">
Gets a value indicating whether the WebSocket connection request is valid.
</p>
<h2>Syntax</h2>
<div class="Signature">public abstract <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsValid</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid:Value">
<tt>true</tt> if the WebSocket connection request is valid; otherwise, <tt>false</tt>.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.IsValid:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin">Origin Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin">Origin Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.Origin:member">
<p class="Summary"> <p class="Summary">
@ -595,6 +643,26 @@
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString">QueryString Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString:member">
<p class="Summary">
Gets the collection of query string variables used in the WebSocket opening handshake.
</p>
<h2>Syntax</h2>
<div class="Signature">public abstract <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <b>QueryString</b> { get; }</div>
<h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString:Value">
A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> that contains the collection of query string variables.
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString:Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.QueryString:Version Information">
<b>Namespace: </b>WebSocketSharp.Net.WebSockets<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri">RequestUri Property</h3> <h3 id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri">RequestUri Property</h3>
<blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri:member"> <blockquote id="P:WebSocketSharp.Net.WebSockets.WebSocketContext.RequestUri:member">
<p class="Summary"> <p class="Summary">

View File

@ -372,7 +372,9 @@
<td> <td>
<i> <i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>. <span class="NotEntered">Documentation for this section has not yet been entered.</span></td> </i>.
Gets a value indicating whether the request is sent from the local computer.
</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>[read-only]<div></div></td> <td>[read-only]<div></div></td>
@ -396,7 +398,9 @@
<td> <td>
<i> <i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a>
</i>. <span class="NotEntered">Documentation for this section has not yet been entered.</span></td> </i>.
Gets a value indicating whether the request is a WebSocket connection request.
</td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<td>[read-only]<div></div></td> <td>[read-only]<div></div></td>
@ -618,6 +622,18 @@
</b>(<i>this</i> <i title="&#xA; The type of the parameter.&#xA; ">T</i>, <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Action">Action</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote> </b>(<i>this</i> <i title="&#xA; The type of the parameter.&#xA; ">T</i>, <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Action">Action</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote>
Determines whether the specified object is <tt>null</tt>. Determines whether the specified object is <tt>null</tt>.
And invokes the specified <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Action">Action</a> delegate if the specified object is <tt>null</tt>. And invokes the specified <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Action">Action</a> delegate if the specified object is <tt>null</tt>.
</blockquote></td>
</tr>
<tr valign="top">
<td>
<div>static </div>
</td>
<td colspan="2">
<b>
<a href="../WebSocketSharp/Ext.html#M:WebSocketSharp.Ext.IsUpgradeTo(WebSocketSharp.Net.HttpListenerRequest,System.String)">IsUpgradeTo</a>
</b>(<i>this</i> <a href="../WebSocketSharp.Net/HttpListenerRequest.html">HttpListenerRequest</a>, <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.String">string</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote>
Determines whether the specified <a href="../WebSocketSharp.Net/HttpListenerRequest.html">WebSocketSharp.Net.HttpListenerRequest</a> is the HTTP Upgrade request
to switch to the specified <i>protocol</i>.
</blockquote></td> </blockquote></td>
</tr> </tr>
</table> </table>
@ -939,13 +955,13 @@
<h3 id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal">IsLocal Property</h3> <h3 id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal">IsLocal Property</h3>
<blockquote id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:member"> <blockquote id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:member">
<p class="Summary"> <p class="Summary">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> Gets a value indicating whether the request is sent from the local computer.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsLocal</b> { get; }</div> <div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsLocal</b> { get; }</div>
<h4 class="Subsection">Value</h4> <h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:Value"> <blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:Value">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> <tt>true</tt> if the request is sent from the local computer; otherwise, <tt>false</tt>.
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:Remarks"> <div class="SectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsLocal:Remarks">
@ -979,13 +995,13 @@
<h3 id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest">IsWebSocketRequest Property</h3> <h3 id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest">IsWebSocketRequest Property</h3>
<blockquote id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:member"> <blockquote id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:member">
<p class="Summary"> <p class="Summary">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> Gets a value indicating whether the request is a WebSocket connection request.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsWebSocketRequest</b> { get; }</div> <div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsWebSocketRequest</b> { get; }</div>
<h4 class="Subsection">Value</h4> <h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:Value"> <blockquote class="SubsectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:Value">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> <tt>true</tt> if the request is a WebSocket connection request; otherwise, <tt>false</tt>.
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:Remarks"> <div class="SectionBox" id="P:WebSocketSharp.Net.HttpListenerRequest.IsWebSocketRequest:Remarks">

View File

@ -207,7 +207,7 @@
</div> </div>
<h1 class="PageTitle" id="T:WebSocketSharp.Server.IServiceHost">IServiceHost Interface</h1> <h1 class="PageTitle" id="T:WebSocketSharp.Server.IServiceHost">IServiceHost Interface</h1>
<p class="Summary" id="T:WebSocketSharp.Server.IServiceHost:Summary"> <p class="Summary" id="T:WebSocketSharp.Server.IServiceHost:Summary">
Exposes the methods and property for the WebSocket service host. Exposes the methods and property for the host that provides a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</p> </p>
<div id="T:WebSocketSharp.Server.IServiceHost:Signature"> <div id="T:WebSocketSharp.Server.IServiceHost:Signature">
<h2>Syntax</h2> <h2>Syntax</h2>
@ -257,9 +257,9 @@
</td> </td>
<td colspan="2"> <td colspan="2">
<b> <b>
<a href="#M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket)">BindWebSocket</a> <a href="#M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">BindWebSocket</a>
</b>(<a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a>)<blockquote>
Binds the specified <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to the WebSocket service instance. Binds the specified <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> to a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a> instance.
</blockquote></td> </blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -336,30 +336,30 @@
<div class="Members" id="T:WebSocketSharp.Server.IServiceHost:Members"> <div class="Members" id="T:WebSocketSharp.Server.IServiceHost:Members">
<h2 class="Section" id="MemberDetails">Member Details</h2> <h2 class="Section" id="MemberDetails">Member Details</h2>
<div class="SectionBox" id="_MemberDetails"> <div class="SectionBox" id="_MemberDetails">
<h3 id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket)">BindWebSocket Method</h3> <h3 id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">BindWebSocket Method</h3>
<blockquote id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket):member"> <blockquote id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):member">
<p class="Summary"> <p class="Summary">
Binds the specified <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to the WebSocket service instance. Binds the specified <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> to a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a> instance.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>BindWebSocket</b> (<a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> socket)</div> <div class="Signature">public <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>BindWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> context)</div>
<h4 class="Subsection">Parameters</h4> <h4 class="Subsection">Parameters</h4>
<blockquote class="SubsectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket):Parameters"> <blockquote class="SubsectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Parameters">
<dl> <dl>
<dt> <dt>
<i>socket</i> <i>context</i>
</dt> </dt>
<dd> <dd>
A <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to bind. A <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> that contains the WebSocket connection request objects to bind.
</dd> </dd>
</dl> </dl>
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket):Remarks"> <div class="SectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> <span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div> </div>
<h2 class="Section">Requirements</h2> <h2 class="Section">Requirements</h2>
<div class="SectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.WebSocket):Version Information"> <div class="SectionBox" id="M:WebSocketSharp.Server.IServiceHost.BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Version Information">
<b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>

View File

@ -525,7 +525,7 @@
<b> <b>
<a href="#M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a> <a href="#M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a>
</b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</blockquote></td> </blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -536,7 +536,7 @@
<b> <b>
<a href="../WebSocketSharp.Server/WebSocketServerBase.html#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a> <a href="../WebSocketSharp.Server/WebSocketServerBase.html#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a>
</b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
(<i>Inherited from <a href="../WebSocketSharp.Server/WebSocketServerBase.html">WebSocketServerBase</a>.</i>)</blockquote></td> (<i>Inherited from <a href="../WebSocketSharp.Server/WebSocketServerBase.html">WebSocketServerBase</a>.</i>)</blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -793,7 +793,7 @@
<h3 id="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3> <h3 id="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3>
<blockquote id="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member"> <blockquote id="M:WebSocketSharp.Server.WebSocketServer.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member">
<p class="Summary"> <p class="Summary">
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">protected override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div> <div class="Signature">protected override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div>

View File

@ -411,7 +411,7 @@
<b> <b>
<a href="#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a> <a href="#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a>
</b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</blockquote></td> </blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -636,7 +636,7 @@
<h3 id="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3> <h3 id="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3>
<blockquote id="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member"> <blockquote id="M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member">
<p class="Summary"> <p class="Summary">
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">protected abstract <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div> <div class="Signature">protected abstract <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div>

View File

@ -299,7 +299,7 @@
<i> <i>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a>
</i>. </i>.
Gets the HTTP query string variables used in the WebSocket opening handshake. Gets the collection of query string variables used in the WebSocket opening handshake.
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -313,7 +313,7 @@
<i> <i>
<a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketServiceManager</a> <a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketServiceManager</a>
</i>. </i>.
Gets the sessions to the WebSocket service. Gets the sessions to the <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</td> </td>
</tr> </tr>
</table> </table>
@ -1004,13 +1004,13 @@
<h3 id="P:WebSocketSharp.Server.WebSocketService.QueryString">QueryString Property</h3> <h3 id="P:WebSocketSharp.Server.WebSocketService.QueryString">QueryString Property</h3>
<blockquote id="P:WebSocketSharp.Server.WebSocketService.QueryString:member"> <blockquote id="P:WebSocketSharp.Server.WebSocketService.QueryString:member">
<p class="Summary"> <p class="Summary">
Gets the HTTP query string variables used in the WebSocket opening handshake. Gets the collection of query string variables used in the WebSocket opening handshake.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">protected <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <b>QueryString</b> { get; }</div> <div class="Signature">protected <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> <b>QueryString</b> { get; }</div>
<h4 class="Subsection">Value</h4> <h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Server.WebSocketService.QueryString:Value"> <blockquote class="SubsectionBox" id="P:WebSocketSharp.Server.WebSocketService.QueryString:Value">
A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> that contains the query string variables. A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Specialized.NameValueCollection">System.Collections.Specialized.NameValueCollection</a> that contains the collection of query string variables.
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Server.WebSocketService.QueryString:Remarks"> <div class="SectionBox" id="P:WebSocketSharp.Server.WebSocketService.QueryString:Remarks">
@ -1146,13 +1146,13 @@
<h3 id="P:WebSocketSharp.Server.WebSocketService.Sessions">Sessions Property</h3> <h3 id="P:WebSocketSharp.Server.WebSocketService.Sessions">Sessions Property</h3>
<blockquote id="P:WebSocketSharp.Server.WebSocketService.Sessions:member"> <blockquote id="P:WebSocketSharp.Server.WebSocketService.Sessions:member">
<p class="Summary"> <p class="Summary">
Gets the sessions to the WebSocket service. Gets the sessions to the <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">protected <a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketServiceManager</a> <b>Sessions</b> { get; }</div> <div class="Signature">protected <a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketServiceManager</a> <b>Sessions</b> { get; }</div>
<h4 class="Subsection">Value</h4> <h4 class="Subsection">Value</h4>
<blockquote class="SubsectionBox" id="P:WebSocketSharp.Server.WebSocketService.Sessions:Value"> <blockquote class="SubsectionBox" id="P:WebSocketSharp.Server.WebSocketService.Sessions:Value">
A <a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketSharp.Server.WebSocketServiceManager</a> that contains the sessions to the WebSocket service. A <a href="../WebSocketSharp.Server/WebSocketServiceManager.html">WebSocketSharp.Server.WebSocketServiceManager</a> that contains the sessions to the the <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="P:WebSocketSharp.Server.WebSocketService.Sessions:Remarks"> <div class="SectionBox" id="P:WebSocketSharp.Server.WebSocketService.Sessions:Remarks">

View File

@ -553,7 +553,7 @@
<b> <b>
<a href="#M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a> <a href="#M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a>
</b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</blockquote></td> </blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -564,7 +564,7 @@
<b> <b>
<a href="../WebSocketSharp.Server/WebSocketServerBase.html#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a> <a href="../WebSocketSharp.Server/WebSocketServerBase.html#M:WebSocketSharp.Server.WebSocketServerBase.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket</a>
</b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote> </b>(<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a>)<blockquote>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
(<i>Inherited from <a href="../WebSocketSharp.Server/WebSocketServerBase.html">WebSocketServerBase</a>.</i>)</blockquote></td> (<i>Inherited from <a href="../WebSocketSharp.Server/WebSocketServerBase.html">WebSocketServerBase</a>.</i>)</blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -613,12 +613,12 @@
</div> </div>
</td> </td>
<td> <td>
<a href="#M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket)"> <a href="#M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">
<b>WebSocketSharp.Server.IServiceHost.BindWebSocket</b> <b>WebSocketSharp.Server.IServiceHost.BindWebSocket</b>
</a> </a>
</td> </td>
<td> <td>
Binds the specified <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to the WebSocket service instance. Binds the specified <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> to a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a> instance.
</td> </td>
</tr> </tr>
</table> </table>
@ -912,7 +912,7 @@
<h3 id="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3> <h3 id="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext)">AcceptWebSocket Method</h3>
<blockquote id="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member"> <blockquote id="M:WebSocketSharp.Server.WebSocketServiceHost`1.AcceptWebSocket(WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext):member">
<p class="Summary"> <p class="Summary">
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature">protected override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div> <div class="Signature">protected override <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>AcceptWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/TcpListenerWebSocketContext.html">WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext</a> context)</div>
@ -1052,31 +1052,31 @@
<b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket)">WebSocketSharp.Server.IServiceHost.BindWebSocket Method</h3> <h3 id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext)">WebSocketSharp.Server.IServiceHost.BindWebSocket Method</h3>
<blockquote id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket):member"> <blockquote id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):member">
<p class="Summary"> <p class="Summary">
Binds the specified <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to the WebSocket service instance. Binds the specified <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> to a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a> instance.
</p> </p>
<h2>Syntax</h2> <h2>Syntax</h2>
<div class="Signature"> <div class="Signature">
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>WebSocketSharp.Server.IServiceHost.BindWebSocket</b> (<a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> socket)</div> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Void">void</a> <b>WebSocketSharp.Server.IServiceHost.BindWebSocket</b> (<a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> context)</div>
<h4 class="Subsection">Parameters</h4> <h4 class="Subsection">Parameters</h4>
<blockquote class="SubsectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket):Parameters"> <blockquote class="SubsectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Parameters">
<dl> <dl>
<dt> <dt>
<i>socket</i> <i>context</i>
</dt> </dt>
<dd> <dd>
A <a href="../WebSocketSharp/WebSocket.html">WebSocketSharp.WebSocket</a> to bind. A <a href="../WebSocketSharp.Net.WebSockets/WebSocketContext.html">WebSocketSharp.Net.WebSockets.WebSocketContext</a> that contains the WebSocket connection request objects to bind.
</dd> </dd>
</dl> </dl>
</blockquote> </blockquote>
<h2 class="Section">Remarks</h2> <h2 class="Section">Remarks</h2>
<div class="SectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket):Remarks"> <div class="SectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span> <span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div> </div>
<h2 class="Section">Requirements</h2> <h2 class="Section">Requirements</h2>
<div class="SectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.WebSocket):Version Information"> <div class="SectionBox" id="M:WebSocketSharp.Server.WebSocketServiceHost`1.WebSocketSharp#Server#IServiceHost#BindWebSocket(WebSocketSharp.Net.WebSockets.WebSocketContext):Version Information">
<b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp.Server<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>

View File

@ -223,7 +223,7 @@
<a href="./IServiceHost.html">IServiceHost</a> <a href="./IServiceHost.html">IServiceHost</a>
</td> </td>
<td> <td>
Exposes the methods and property for the WebSocket service host. Exposes the methods and property for the host that provides a <a href="../WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">

View File

@ -395,6 +395,17 @@
<a href="#M:WebSocketSharp.Ext.IsHostOrder(WebSocketSharp.ByteOrder)">IsHostOrder</a> <a href="#M:WebSocketSharp.Ext.IsHostOrder(WebSocketSharp.ByteOrder)">IsHostOrder</a>
</b>(<i>this</i> <a href="../WebSocketSharp/ByteOrder.html">ByteOrder</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote> </b>(<i>this</i> <a href="../WebSocketSharp/ByteOrder.html">ByteOrder</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote>
Determines whether the specified <a href="../WebSocketSharp/ByteOrder.html">WebSocketSharp.ByteOrder</a> is host (this computer architecture) byte order. Determines whether the specified <a href="../WebSocketSharp/ByteOrder.html">WebSocketSharp.ByteOrder</a> is host (this computer architecture) byte order.
</blockquote></td>
</tr>
<tr valign="top">
<td>
<div>static </div>
</td>
<td colspan="2">
<b>
<a href="#M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress)">IsLocal</a>
</b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Net.IPAddress">System.Net.IPAddress</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a></nobr><blockquote>
Determines whether the specified <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Net.IPAddress">System.Net.IPAddress</a> represents a local IP address.
</blockquote></td> </blockquote></td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
@ -1333,6 +1344,54 @@
<b>Namespace: </b>WebSocketSharp<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div> <b>Namespace: </b>WebSocketSharp<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" /> <hr size="1" />
</blockquote> </blockquote>
<h3 id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress)">IsLocal Method</h3>
<blockquote id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):member">
<p class="Summary">
Determines whether the specified <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Net.IPAddress">System.Net.IPAddress</a> represents a local IP address.
</p>
<h2>Syntax</h2>
<div class="Signature">public static <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Boolean">bool</a> <b>IsLocal</b> (<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Net.IPAddress">System.Net.IPAddress</a> address)</div>
<h4 class="Subsection">Parameters</h4>
<blockquote class="SubsectionBox" id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):Parameters">
<dl>
<dt>
<i>address</i>
</dt>
<dd>
A <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Net.IPAddress">System.Net.IPAddress</a> to test.
</dd>
</dl>
</blockquote>
<h4 class="Subsection">Returns</h4>
<blockquote class="SubsectionBox" id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):Returns">
<tt>true</tt> if <i>address</i> represents a local IP address; otherwise, <tt>false</tt>.
</blockquote>
<h4 class="Subsection">Exceptions</h4>
<blockquote class="SubsectionBox" id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):Exceptions">
<table class="TypeDocumentation">
<tr>
<th>Type</th>
<th>Reason</th>
</tr>
<tr valign="top">
<td>
<a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.ArgumentNullException">ArgumentNullException</a>
</td>
<td>
<i>address</i> is <tt>null</tt>.
</td>
</tr>
</table>
</blockquote>
<h2 class="Section">Remarks</h2>
<div class="SectionBox" id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):Remarks">
<span class="NotEntered">Documentation for this section has not yet been entered.</span>
</div>
<h2 class="Section">Requirements</h2>
<div class="SectionBox" id="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress):Version Information">
<b>Namespace: </b>WebSocketSharp<br /><b>Assembly: </b>websocket-sharp (in websocket-sharp.dll)</div>
<hr size="1" />
</blockquote>
<h3 id="M:WebSocketSharp.Ext.IsNull``1(``0)">IsNull&lt;T&gt; Generic Method</h3> <h3 id="M:WebSocketSharp.Ext.IsNull``1(``0)">IsNull&lt;T&gt; Generic Method</h3>
<blockquote id="M:WebSocketSharp.Ext.IsNull``1(``0):member"> <blockquote id="M:WebSocketSharp.Ext.IsNull``1(``0):member">
<p class="Summary"> <p class="Summary">

View File

@ -471,7 +471,7 @@
<a href="WebSocketSharp.Server/IServiceHost.html">IServiceHost</a> <a href="WebSocketSharp.Server/IServiceHost.html">IServiceHost</a>
</td> </td>
<td> <td>
Exposes the methods and property for the WebSocket service host. Exposes the methods and property for the host that provides a <a href="./WebSocketSharp.Server/WebSocketService.html">WebSocketSharp.Server.WebSocketService</a>.
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">

View File

@ -100,6 +100,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="IsValid">
<MemberSignature Language="C#" Value="public override bool IsValid { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsValid" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Origin"> <Member MemberName="Origin">
<MemberSignature Language="C#" Value="public override string Origin { get; }" /> <MemberSignature Language="C#" Value="public override string Origin { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Origin" /> <MemberSignature Language="ILAsm" Value=".property instance string Origin" />
@ -134,6 +151,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="QueryString">
<MemberSignature Language="C#" Value="public override System.Collections.Specialized.NameValueCollection QueryString { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection QueryString" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RequestUri"> <Member MemberName="RequestUri">
<MemberSignature Language="C#" Value="public override Uri RequestUri { get; }" /> <MemberSignature Language="C#" Value="public override Uri RequestUri { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" /> <MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" />

View File

@ -109,6 +109,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="IsValid">
<MemberSignature Language="C#" Value="public override bool IsValid { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsValid" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Origin"> <Member MemberName="Origin">
<MemberSignature Language="C#" Value="public override string Origin { get; }" /> <MemberSignature Language="C#" Value="public override string Origin { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Origin" /> <MemberSignature Language="ILAsm" Value=".property instance string Origin" />
@ -143,6 +160,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="QueryString">
<MemberSignature Language="C#" Value="public override System.Collections.Specialized.NameValueCollection QueryString { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection QueryString" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RequestUri"> <Member MemberName="RequestUri">
<MemberSignature Language="C#" Value="public override Uri RequestUri { get; }" /> <MemberSignature Language="C#" Value="public override Uri RequestUri { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" /> <MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" />

View File

@ -114,6 +114,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="IsValid">
<MemberSignature Language="C#" Value="public abstract bool IsValid { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool IsValid" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets a value indicating whether the WebSocket connection request is valid.
</summary>
<value>
<c>true</c> if the WebSocket connection request is valid; otherwise, <c>false</c>.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="Origin"> <Member MemberName="Origin">
<MemberSignature Language="C#" Value="public abstract string Origin { get; }" /> <MemberSignature Language="C#" Value="public abstract string Origin { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance string Origin" /> <MemberSignature Language="ILAsm" Value=".property instance string Origin" />
@ -131,6 +148,23 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="QueryString">
<MemberSignature Language="C#" Value="public abstract System.Collections.Specialized.NameValueCollection QueryString { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Specialized.NameValueCollection QueryString" />
<MemberType>Property</MemberType>
<ReturnValue>
<ReturnType>System.Collections.Specialized.NameValueCollection</ReturnType>
</ReturnValue>
<Docs>
<summary>
Gets the collection of query string variables used in the WebSocket opening handshake.
</summary>
<value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value>
<remarks>To be added.</remarks>
</Docs>
</Member>
<Member MemberName="RequestUri"> <Member MemberName="RequestUri">
<MemberSignature Language="C#" Value="public abstract Uri RequestUri { get; }" /> <MemberSignature Language="C#" Value="public abstract Uri RequestUri { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" /> <MemberSignature Language="ILAsm" Value=".property instance class System.Uri RequestUri" />

View File

@ -214,8 +214,12 @@
<ReturnType>System.Boolean</ReturnType> <ReturnType>System.Boolean</ReturnType>
</ReturnValue> </ReturnValue>
<Docs> <Docs>
<summary>To be added.</summary> <summary>
<value>To be added.</value> 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>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
@ -240,8 +244,12 @@
<ReturnType>System.Boolean</ReturnType> <ReturnType>System.Boolean</ReturnType>
</ReturnValue> </ReturnValue>
<Docs> <Docs>
<summary>To be added.</summary> <summary>
<value>To be added.</value> 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>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>

View File

@ -7,27 +7,27 @@
<Interfaces /> <Interfaces />
<Docs> <Docs>
<summary> <summary>
Exposes the methods and property for the WebSocket service host. Exposes the methods and property for the host that provides a <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</summary> </summary>
<remarks /> <remarks />
</Docs> </Docs>
<Members> <Members>
<Member MemberName="BindWebSocket"> <Member MemberName="BindWebSocket">
<MemberSignature Language="C#" Value="public void BindWebSocket (WebSocketSharp.WebSocket socket);" /> <MemberSignature Language="C#" Value="public void BindWebSocket (WebSocketSharp.Net.WebSockets.WebSocketContext context);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BindWebSocket(class WebSocketSharp.WebSocket socket) cil managed" /> <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void BindWebSocket(class WebSocketSharp.Net.WebSockets.WebSocketContext context) cil managed" />
<MemberType>Method</MemberType> <MemberType>Method</MemberType>
<ReturnValue> <ReturnValue>
<ReturnType>System.Void</ReturnType> <ReturnType>System.Void</ReturnType>
</ReturnValue> </ReturnValue>
<Parameters> <Parameters>
<Parameter Name="socket" Type="WebSocketSharp.WebSocket" /> <Parameter Name="context" Type="WebSocketSharp.Net.WebSockets.WebSocketContext" />
</Parameters> </Parameters>
<Docs> <Docs>
<param name="socket"> <param name="context">
A <see cref="T:WebSocketSharp.WebSocket" /> to bind. A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> that contains the WebSocket connection request objects to bind.
</param> </param>
<summary> <summary>
Binds the specified <see cref="T:WebSocketSharp.WebSocket" /> to the WebSocket service instance. Binds the specified <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> to a <see cref="T:WebSocketSharp.Server.WebSocketService" /> instance.
</summary> </summary>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>

View File

@ -150,7 +150,7 @@
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
</param> </param>
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>

View File

@ -112,7 +112,7 @@
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
</param> </param>
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>

View File

@ -327,10 +327,10 @@
</ReturnValue> </ReturnValue>
<Docs> <Docs>
<summary> <summary>
Gets the HTTP query string variables used in the WebSocket opening handshake. Gets the collection of query string variables used in the WebSocket opening handshake.
</summary> </summary>
<value> <value>
A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the query string variables. A <see cref="T:System.Collections.Specialized.NameValueCollection" /> that contains the collection of query string variables.
</value> </value>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
@ -434,10 +434,10 @@
</ReturnValue> </ReturnValue>
<Docs> <Docs>
<summary> <summary>
Gets the sessions to the WebSocket service. Gets the sessions to the <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</summary> </summary>
<value> <value>
A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager" /> that contains the sessions to the WebSocket service. A <see cref="T:WebSocketSharp.Server.WebSocketServiceManager" /> that contains the sessions to the the <see cref="T:WebSocketSharp.Server.WebSocketService" />.
</value> </value>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>

View File

@ -209,7 +209,7 @@
A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects. A <see cref="T:WebSocketSharp.Net.WebSockets.TcpListenerWebSocketContext" /> that contains the WebSocket connection request objects.
</param> </param>
<summary> <summary>
Accepts a WebSocket connection. Accepts a WebSocket connection request.
</summary> </summary>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
@ -309,21 +309,21 @@
</Docs> </Docs>
</Member> </Member>
<Member MemberName="WebSocketSharp.Server.IServiceHost.BindWebSocket"> <Member MemberName="WebSocketSharp.Server.IServiceHost.BindWebSocket">
<MemberSignature Language="C#" Value="void IServiceHost.BindWebSocket (WebSocketSharp.WebSocket socket);" /> <MemberSignature Language="C#" Value="void IServiceHost.BindWebSocket (WebSocketSharp.Net.WebSockets.WebSocketContext context);" />
<MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void WebSocketSharp.Server.IServiceHost.BindWebSocket(class WebSocketSharp.WebSocket socket) cil managed" /> <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void WebSocketSharp.Server.IServiceHost.BindWebSocket(class WebSocketSharp.Net.WebSockets.WebSocketContext context) cil managed" />
<MemberType>Method</MemberType> <MemberType>Method</MemberType>
<ReturnValue> <ReturnValue>
<ReturnType>System.Void</ReturnType> <ReturnType>System.Void</ReturnType>
</ReturnValue> </ReturnValue>
<Parameters> <Parameters>
<Parameter Name="socket" Type="WebSocketSharp.WebSocket" /> <Parameter Name="context" Type="WebSocketSharp.Net.WebSockets.WebSocketContext" />
</Parameters> </Parameters>
<Docs> <Docs>
<param name="socket"> <param name="context">
A <see cref="T:WebSocketSharp.WebSocket" /> to bind. A <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> that contains the WebSocket connection request objects to bind.
</param> </param>
<summary> <summary>
Binds the specified <see cref="T:WebSocketSharp.WebSocket" /> to the WebSocket service instance. Binds the specified <see cref="T:WebSocketSharp.Net.WebSockets.WebSocketContext" /> to a <see cref="T:WebSocketSharp.Server.WebSocketService" /> instance.
</summary> </summary>
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>

View File

@ -431,6 +431,32 @@
<remarks>To be added.</remarks> <remarks>To be added.</remarks>
</Docs> </Docs>
</Member> </Member>
<Member MemberName="IsLocal">
<MemberSignature Language="C#" Value="public static bool IsLocal (this System.Net.IPAddress address);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsLocal(class System.Net.IPAddress address) cil managed" />
<MemberType>Method</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="address" Type="System.Net.IPAddress" RefType="this" />
</Parameters>
<Docs>
<param name="address">
A <see cref="T:System.Net.IPAddress" /> to test.
</param>
<summary>
Determines whether the specified <see cref="T:System.Net.IPAddress" /> represents a local IP address.
</summary>
<returns>
<c>true</c> if <paramref name="address" /> represents a local IP address; otherwise, <c>false</c>.
</returns>
<remarks>To be added.</remarks>
<exception cref="T:System.ArgumentNullException">
<paramref name="address" /> is <see langword="null" />.
</exception>
</Docs>
</Member>
<Member MemberName="IsNull&lt;T&gt;"> <Member MemberName="IsNull&lt;T&gt;">
<MemberSignature Language="C#" Value="public static bool IsNull&lt;T&gt; (this T obj) where T : class;" /> <MemberSignature Language="C#" Value="public static bool IsNull&lt;T&gt; (this T obj) where T : class;" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsNull&lt;class T&gt;(!!T obj) cil managed" /> <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsNull&lt;class T&gt;(!!T obj) cil managed" />

View File

@ -1,6 +1,6 @@
<Overview> <Overview>
<Assemblies> <Assemblies>
<Assembly Name="websocket-sharp" Version="1.0.2.29254"> <Assembly Name="websocket-sharp" Version="1.0.2.20635">
<AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 11 00 00 00 29 17 fb 89 fe c3 91 f7 2b cb 8b e2 61 d2 3f 05 93 6d 65 a8 9e 63 72 a6 f5 d5 2c f2 9d 20 fa 0b c0 70 6a f6 88 7e 8b 90 3f 39 f5 76 c8 48 e0 bb 7b b2 7b ed d3 10 a7 1a 0f 70 98 0f 7f f4 4b 53 09 d2 a5 ef 36 c3 56 b4 aa f0 91 72 63 25 07 89 e0 93 3e 3f 2e f2 b9 73 0e 12 15 5d 43 56 c3 f4 70 a5 89 fe f7 f6 ac 3e 77 c2 d8 d0 84 91 f4 0c d1 f3 8e dc c3 c3 b8 38 3d 0c bf 17 de 20 78 c1 ]</AssemblyPublicKey> <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 11 00 00 00 29 17 fb 89 fe c3 91 f7 2b cb 8b e2 61 d2 3f 05 93 6d 65 a8 9e 63 72 a6 f5 d5 2c f2 9d 20 fa 0b c0 70 6a f6 88 7e 8b 90 3f 39 f5 76 c8 48 e0 bb 7b b2 7b ed d3 10 a7 1a 0f 70 98 0f 7f f4 4b 53 09 d2 a5 ef 36 c3 56 b4 aa f0 91 72 63 25 07 89 e0 93 3e 3f 2e f2 b9 73 0e 12 15 5d 43 56 c3 f4 70 a5 89 fe f7 f6 ac 3e 77 c2 d8 d0 84 91 f4 0c d1 f3 8e dc c3 c3 b8 38 3d 0c bf 17 de 20 78 c1 ]</AssemblyPublicKey>
<Attributes> <Attributes>
<Attribute> <Attribute>
@ -525,6 +525,31 @@
<Link Type="WebSocketSharp.Ext" Member="M:WebSocketSharp.Ext.IsHostOrder(WebSocketSharp.ByteOrder)" /> <Link Type="WebSocketSharp.Ext" Member="M:WebSocketSharp.Ext.IsHostOrder(WebSocketSharp.ByteOrder)" />
</Member> </Member>
</ExtensionMethod> </ExtensionMethod>
<ExtensionMethod>
<Targets>
<Target Type="T:System.Net.IPAddress" />
</Targets>
<Member MemberName="IsLocal">
<MemberSignature Language="C#" Value="public static bool IsLocal (this System.Net.IPAddress address);" />
<MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsLocal(class System.Net.IPAddress address) cil managed" />
<MemberType>ExtensionMethod</MemberType>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="address" Type="System.Net.IPAddress" RefType="this" />
</Parameters>
<Docs>
<param name="address">
A <see cref="T:System.Net.IPAddress" /> to test.
</param>
<summary>
Determines whether the specified <see cref="T:System.Net.IPAddress" /> represents a local IP address.
</summary>
</Docs>
<Link Type="WebSocketSharp.Ext" Member="M:WebSocketSharp.Ext.IsLocal(System.Net.IPAddress)" />
</Member>
</ExtensionMethod>
<ExtensionMethod> <ExtensionMethod>
<Targets> <Targets>
<Target Type="System.Object" /> <Target Type="System.Object" />

Binary file not shown.