Modified a few for Example
This commit is contained in:
parent
6ff6b0485f
commit
e80633b73b
@ -35,8 +35,9 @@ namespace Example
|
||||
Console.WriteLine (msg);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
else {
|
||||
Thread.Sleep (500);
|
||||
}
|
||||
}
|
||||
|
||||
_waitHandle.Set ();
|
||||
@ -45,19 +46,17 @@ namespace Example
|
||||
|
||||
public int Count {
|
||||
get {
|
||||
lock (_sync) {
|
||||
lock (_sync)
|
||||
return _queue.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private NotificationMessage dequeue ()
|
||||
{
|
||||
lock (_sync) {
|
||||
lock (_sync)
|
||||
return _queue.Count > 0
|
||||
? _queue.Dequeue ()
|
||||
: null;
|
||||
}
|
||||
}
|
||||
|
||||
public void Close ()
|
||||
@ -69,10 +68,9 @@ namespace Example
|
||||
|
||||
public void Notify (NotificationMessage message)
|
||||
{
|
||||
lock (_sync) {
|
||||
lock (_sync)
|
||||
if (_enabled)
|
||||
_queue.Enqueue (message);
|
||||
}
|
||||
}
|
||||
|
||||
void IDisposable.Dispose ()
|
||||
|
@ -7,19 +7,28 @@ namespace Example
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
public static void Main (string [] args)
|
||||
public static void Main (string[] args)
|
||||
{
|
||||
/* Create a new instance of the WebSocket class.
|
||||
*
|
||||
* The WebSocket class inherits the System.IDisposable interface, so you can use the using
|
||||
* statement. The WebSocket connection has been closed with close status 1001 (going away)
|
||||
* when the control leaves the using block.
|
||||
*
|
||||
* If you would like to connect to the server with the secure connection, you should create
|
||||
* the instance with the wss scheme WebSocket URL.
|
||||
*/
|
||||
using (var nf = new Notifier ())
|
||||
using (var ws = new WebSocket ("ws://echo.websocket.org"))
|
||||
//using (var ws = new WebSocket ("wss://echo.websocket.org")) // For Secure Connection
|
||||
//using (var ws = new WebSocket ("wss://echo.websocket.org"))
|
||||
//using (var ws = new WebSocket ("ws://localhost:4649/Echo"))
|
||||
//using (var ws = new WebSocket ("wss://localhost:4649/Echo"))
|
||||
//using (var ws = new WebSocket ("ws://localhost:4649/Echo?name=nobita"))
|
||||
//using (var ws = new WebSocket ("wss://localhost:4649/Echo"))
|
||||
//using (var ws = new WebSocket ("ws://localhost:4649/Chat"))
|
||||
//using (var ws = new WebSocket ("wss://localhost:4649/Chat"))
|
||||
//using (var ws = new WebSocket ("ws://localhost:4649/Chat?name=nobita"))
|
||||
//using (var ws = new WebSocket ("wss://localhost:4649/Chat"))
|
||||
{
|
||||
/* Setting WebSocket events */
|
||||
// To set the WebSocket events.
|
||||
ws.OnOpen += (sender, e) => ws.Send ("Hi, there!");
|
||||
|
||||
ws.OnMessage += (sender, e) =>
|
||||
@ -45,37 +54,40 @@ namespace Example
|
||||
Body = e.Reason,
|
||||
Icon = "notification-message-im"
|
||||
});
|
||||
|
||||
|
||||
#if DEBUG
|
||||
// Changing the logging level
|
||||
// To change the logging level.
|
||||
ws.Log.Level = LogLevel.Trace;
|
||||
|
||||
// To change the wait time for the response to the Ping or Close.
|
||||
ws.WaitTime = TimeSpan.FromSeconds (10);
|
||||
#endif
|
||||
// Setting Per-message Compression
|
||||
// To negotiate the Per-message Compression extension.
|
||||
//ws.Compression = CompressionMethod.Deflate;
|
||||
|
||||
/* For Secure Connection
|
||||
ws.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => {
|
||||
ws.Log.Debug (String.Format ("\n{0}\n{1}", certificate.Issuer, certificate.Subject));
|
||||
return true; // If the server cert is valid
|
||||
};
|
||||
*/
|
||||
// To validate the server certificate.
|
||||
//ws.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => {
|
||||
// ws.Log.Debug (String.Format ("\n{0}\n{1}", certificate.Issuer, certificate.Subject));
|
||||
// return true; // If the server certificate is valid.
|
||||
//};
|
||||
|
||||
// For HTTP Authentication (Basic/Digest)
|
||||
// To set the credentials for the HTTP Authentication (Basic/Digest).
|
||||
//ws.SetCredentials ("nobita", "password", false);
|
||||
|
||||
// Setting Origin header
|
||||
//ws.Origin = "http://echo.websocket.org";
|
||||
// To send the Origin header.
|
||||
//ws.Origin = "http://localhost:4649";
|
||||
|
||||
// Setting Cookies
|
||||
// To send the Cookies.
|
||||
//ws.SetCookie (new Cookie ("name", "nobita"));
|
||||
//ws.SetCookie (new Cookie ("roles", "\"idiot, gunfighter\""));
|
||||
|
||||
// Setting Proxy
|
||||
// To connect through the HTTP Proxy server.
|
||||
//ws.SetProxy ("http://localhost:3128", "nobita", "password");
|
||||
|
||||
// Connecting to the server
|
||||
// Connect to the server.
|
||||
ws.Connect ();
|
||||
|
||||
// Connect to the server asynchronously.
|
||||
//ws.ConnectAsync ();
|
||||
|
||||
Console.WriteLine ("\nType 'exit' to exit.\n");
|
||||
@ -86,7 +98,7 @@ namespace Example
|
||||
if (msg == "exit")
|
||||
break;
|
||||
|
||||
// Sending a text message
|
||||
// Send a text message.
|
||||
ws.Send (msg);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user