Fix for the secure connection

This commit is contained in:
sta
2013-07-19 17:29:58 +09:00
parent 49dc8800d3
commit 3e6c589953
11 changed files with 308 additions and 243 deletions

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="ServerCertPath" value="/path/to/server.cer" />
<add key="ServerCertFile" value="/path/to/cert.pfx"/>
<add key="CertFilePassword" value="password"/>
</appSettings>
</configuration>

View File

@@ -49,6 +49,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration" />
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs" />

View File

@@ -1,58 +1,67 @@
using System;
using System.Configuration;
using System.Security.Cryptography.X509Certificates;
using WebSocketSharp;
using WebSocketSharp.Server;
namespace Example2
{
public class Program
{
public static void Main(string[] args)
namespace Example2 {
public class Program {
public static void Main (string [] args)
{
/* Single service server
//var wssv = new WebSocketServiceHost<Echo>("ws://localhost:4649");
var wssv = new WebSocketServiceHost<Echo>("ws://localhost:4649/Echo");
//var wssv = new WebSocketServiceHost<Echo>("ws://localhost:4649/エコー");
//var wssv = new WebSocketServiceHost<Echo>(4649);
//var wssv = new WebSocketServiceHost<Echo>(4649, "/Echo");
//var wssv = new WebSocketServiceHost<Echo>(4649, "/エコー");
//var wssv = new WebSocketServiceHost<Chat>("ws://localhost:4649");
//var wssv = new WebSocketServiceHost<Chat>("ws://localhost:4649/Chat");
//var wssv = new WebSocketServiceHost<Chat>("ws://localhost:4649/チャット");
//var wssv = new WebSocketServiceHost<Chat>(4649);
//var wssv = new WebSocketServiceHost<Chat>(4649, "/Chat");
//var wssv = new WebSocketServiceHost<Chat>(4649, "/チャット");
//wssv.Sweeping = false; // Stop the sweep inactive session timer.
var wssv = new WebSocketServiceHost<Echo> ("ws://localhost:4649");
//var wssv = new WebSocketServiceHost<Echo> ("ws://localhost:4649/Echo");
//var wssv = new WebSocketServiceHost<Echo> ("ws://localhost:4649/エコー");
//var wssv = new WebSocketServiceHost<Echo> (4649);
//var wssv = new WebSocketServiceHost<Echo> (4649, "/Echo");
//var wssv = new WebSocketServiceHost<Echo> (4649, "/エコー");
//var wssv = new WebSocketServiceHost<Chat> ("ws://localhost:4649");
//var wssv = new WebSocketServiceHost<Chat> ("ws://localhost:4649/Chat");
//var wssv = new WebSocketServiceHost<Chat> ("ws://localhost:4649/チャット");
//var wssv = new WebSocketServiceHost<Chat> (4649);
//var wssv = new WebSocketServiceHost<Chat> (4649, "/Chat");
//var wssv = new WebSocketServiceHost<Chat> (4649, "/チャット");
#if DEBUG
wssv.Log.Level = LogLevel.TRACE;
#endif
//wssv.Sweeping = false;
wssv.Start();
Console.WriteLine(
wssv.Start ();
Console.WriteLine (
"WebSocket Service Host (url: {0})\n listening on address: {1} port: {2}\n",
wssv.Uri, wssv.Address, wssv.Port);
*/
// Multi services server
var wssv = new WebSocketServer(4649);
//var wssv = new WebSocketServer("ws://localhost:4649");
/* Multi services server */
var wssv = new WebSocketServer (4649);
//var wssv = new WebSocketServer (4649, true);
//var wssv = new WebSocketServer ("ws://localhost:4649");
//var wssv = new WebSocketServer ("wss://localhost:4649");
#if DEBUG
wssv.Log.Level = LogLevel.TRACE;
#endif
//wssv.Sweeping = false; // Stop the sweep inactive session timer.
wssv.AddWebSocketService<Echo>("/Echo");
wssv.AddWebSocketService<Chat>("/Chat");
//wssv.AddWebSocketService<Echo>("/エコー");
//wssv.AddWebSocketService<Chat>("/チャット");
//var file = ConfigurationManager.AppSettings ["ServerCertFile"];
//var password = ConfigurationManager.AppSettings ["CertFilePassword"];
//wssv.Certificate = new X509Certificate2 (file, password);
//wssv.Sweeping = false;
wssv.AddWebSocketService<Echo> ("/Echo");
wssv.AddWebSocketService<Chat> ("/Chat");
//wssv.AddWebSocketService<Echo> ("/エコー");
//wssv.AddWebSocketService<Chat> ("/チャット");
wssv.Start();
Console.WriteLine(
wssv.Start ();
Console.WriteLine (
"WebSocket Server listening on port: {0} service path:", wssv.Port);
foreach (var path in wssv.ServicePaths)
Console.WriteLine(" {0}", path);
Console.WriteLine();
Console.WriteLine (" {0}", path);
Console.WriteLine("Press any key to stop server...");
Console.ReadLine();
Console.WriteLine ();
Console.WriteLine ("Press enter key to stop server...");
Console.ReadLine ();
wssv.Stop();
wssv.Stop ();
}
}
}