Fixed several part

This commit is contained in:
sta 2012-08-01 11:38:40 +09:00
parent a93dcc09aa
commit cf6b26503e
10 changed files with 36 additions and 37 deletions

View File

@ -108,7 +108,7 @@ namespace Example
_ws.OnError += (sender, e) =>
{
enNfMessage("[AudioStreamer] error", "WS Error: " + e.Data, "notification-message-im");
enNfMessage("[AudioStreamer] error", "WS: Error: " + e.Data, "notification-message-im");
};
_ws.OnClose += (sender, e) =>
@ -116,7 +116,7 @@ namespace Example
enNfMessage
(
"[AudioStreamer] disconnect",
String.Format("WS Close({0}:{1}): {2}", (ushort)e.Code, e.Code, e.Reason),
String.Format("WS: Close({0}:{1}): {2}", (ushort)e.Code, e.Code, e.Reason),
"notification-message-im"
);
};

View File

@ -2,7 +2,7 @@
<MonoDevelop.Ide.Workspace ActiveConfiguration="Release_Ubuntu" />
<MonoDevelop.Ide.Workbench ActiveDocument="websocket-sharp/WebSocket.cs">
<Files>
<File FileName="websocket-sharp/WebSocket.cs" Line="217" Column="41" />
<File FileName="websocket-sharp/WebSocket.cs" Line="428" Column="39" />
</Files>
</MonoDevelop.Ide.Workbench>
<MonoDevelop.Ide.DebuggingService.Breakpoints>

View File

@ -36,6 +36,25 @@ namespace WebSocketSharp
{
public static class Ext
{
public static void Emit(
this EventHandler eventHandler, object sender, EventArgs e)
{
if (eventHandler != null)
{
eventHandler(sender, e);
}
}
public static void Emit<TEventArgs>(
this EventHandler<TEventArgs> eventHandler, object sender, TEventArgs e)
where TEventArgs : EventArgs
{
if (eventHandler != null)
{
eventHandler(sender, e);
}
}
public static bool EqualsAndSaveTo(this int value, char c, List<byte> dest)
{
byte b = (byte)value;

View File

@ -47,7 +47,8 @@ namespace WebSocketSharp.Frame
public byte[] ExtensionData { get; private set; }
public byte[] ApplicationData { get; private set; }
public bool IsMasked { get; private set; }
public bool IsMasked { get; private set; }
public ulong Length
{
@ -154,6 +155,7 @@ namespace WebSocketSharp.Frame
{
mask(ExtensionData, maskingKey);
}
if (ApplicationData.LongLength > 0)
{
mask(ApplicationData, maskingKey);

View File

@ -126,10 +126,7 @@ namespace WebSocketSharp
{
case WsState.OPEN:
messageThreadStart();
if (OnOpen != null)
{
OnOpen(this, EventArgs.Empty);
}
OnOpen.Emit(this, EventArgs.Empty);
break;
case WsState.CLOSING:
break;
@ -229,14 +226,14 @@ namespace WebSocketSharp
else if (_readyState == WsState.CONNECTING)
{
ReadyState = WsState.CLOSED;
emitOnClose(data);
OnClose.Emit(this, new CloseEventArgs(data));
return;
}
ReadyState = WsState.CLOSING;
}
emitOnClose(data);
OnClose.Emit(this, new CloseEventArgs(data));
var frame = new WsFrame(Opcode.CLOSE, data);
closeHandshake(frame);
#if DEBUG
@ -428,27 +425,14 @@ namespace WebSocketSharp
ReadyState = WsState.OPEN;
}
private void emitOnClose(PayloadData data)
{
if (OnClose != null)
{
OnClose(this, new CloseEventArgs(data));
}
}
private void error(string message)
{
#if DEBUG
var callerFrame = new StackFrame(1);
var caller = callerFrame.GetMethod();
if (OnError != null)
{
OnError(this, new MessageEventArgs(message));
}
else
{
Console.WriteLine("WS: Error@{0}: {1}", caller.Name, message);
}
Console.WriteLine("WS: Error@{0}: {1}", caller.Name, message);
#endif
OnError.Emit(this, new MessageEventArgs(message));
}
private bool isValidResponse(string[] response, out string message)
@ -548,9 +532,9 @@ namespace WebSocketSharp
{
eventArgs = receive();
if (OnMessage != null && eventArgs != null)
if (eventArgs != null)
{
OnMessage(this, eventArgs);
OnMessage.Emit(this, eventArgs);
}
}
catch (WsReceivedTooBigMessageException ex)
@ -630,17 +614,11 @@ namespace WebSocketSharp
else if (frame.Opcode == Opcode.PING)
{// FINAL & PING
pong(frame.PayloadData);
if (OnMessage != null)
{
OnMessage(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
OnMessage.Emit(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
else if (frame.Opcode == Opcode.PONG)
{// FINAL & PONG
if (OnMessage != null)
{
OnMessage(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
OnMessage.Emit(this, new MessageEventArgs(frame.Opcode, frame.PayloadData));
}
else
{// FINAL & (TEXT | BINARY)

Binary file not shown.