Fix due to the modified WebSocketServer.cs

This commit is contained in:
sta
2012-10-01 15:26:31 +09:00
parent b4d8689bb3
commit fbcea4699b
66 changed files with 377 additions and 340 deletions

View File

@@ -161,13 +161,13 @@ namespace WebSocketSharp.Server {
{
respondToClient(context);
}
res.Close();
}
catch (Exception ex)
{
OnError.Emit(this, new ErrorEventArgs(ex.Message));
}
res.Close();
};
ThreadPool.QueueUserWorkItem(respondCb);
}
@@ -247,12 +247,6 @@ namespace WebSocketSharp.Server {
var req = context.Request;
var res = context.Response;
if (!req.IsWebSocketRequest)
{
res.StatusCode = (int)HttpStatusCode.BadRequest;
return false;
}
var path = req.RawUrl;
if (!_wsServers.ContainsKey(path))
{
@@ -303,6 +297,7 @@ namespace WebSocketSharp.Server {
_acceptRequestThread.Join(5 * 1000);
foreach (var server in _wsServers.Values)
server.Stop();
_wsServers.Clear();
}
#endregion

View File

@@ -31,9 +31,9 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using WebSocketSharp.Frame;
using WebSocketSharp.Net;
using WebSocketSharp.Net.Sockets;
namespace WebSocketSharp.Server {
@@ -54,7 +54,7 @@ namespace WebSocketSharp.Server {
}
public WebSocketServer(int port)
: base(IPAddress.Any, port)
: base(System.Net.IPAddress.Any, port)
{
_servers = new Dictionary<string, IWebSocketServer>();
}
@@ -66,18 +66,14 @@ namespace WebSocketSharp.Server {
protected override void bindSocket(TcpClient client)
{
var context = client.AcceptWebSocket();
var socket = context.WebSocket;
var path = context.RequestUri.ToString();
if (!_servers.ContainsKey(path))
{
var stream = context.Stream;
var res = ResponseHandshake.NotImplemented;
stream.WriteHandshake(res);
stream.Close();
client.Close();
socket.Close(HttpStatusCode.NotImplemented);
return;
}
var socket = context.WebSocket;
var server = _servers[path];
server.BindWebSocket(socket);
}
@@ -98,6 +94,7 @@ namespace WebSocketSharp.Server {
base.Stop();
foreach (var server in _servers.Values)
server.Stop();
_servers.Clear();
}
#endregion
@@ -137,7 +134,7 @@ namespace WebSocketSharp.Server {
}
public WebSocketServer(int port, string path)
: base(IPAddress.Any, port)
: base(System.Net.IPAddress.Any, port)
{
var uri = path.ToUri();
if (uri.IsAbsoluteUri)
@@ -206,6 +203,7 @@ namespace WebSocketSharp.Server {
{
foreach (WebSocketService service in _services.Values)
service.Stop(code, reason);
_services.Clear();
}
}