SuperSocket 1.4系列文档(17) 在Windows Azure中运行SuperSocket
生活随笔
收集整理的這篇文章主要介紹了
SuperSocket 1.4系列文档(17) 在Windows Azure中运行SuperSocket
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Windows Azure是微軟的云計算平臺!Windows Azure通過微軟的數據中心為開發人員提供以按需的計算能力和存儲能力去托管、擴展和管理互聯網上的應用程序。
運行于Windows Azure上的應用程序具有很高的可靠性和可伸縮性。
基于SuperSocket的服務器程序可以輕易的運行于Windows Azure平臺之上。
和普通Socket服務器程序不同,首先需要在Role的屬性中設置Socket程序對外提供服務的Endpoint:
然后在WorkerRole代碼文件中動態的獲取外部Endpoint所對應的內部Endpoint:
var instanceEndpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints[serverConfig.Name + "Endpoint"];完整的代碼如下:
public override bool OnStart() { LogUtil.Setup(); // Set the maximum number of concurrent connections ServicePointManager.DefaultConnectionLimit = 100; ? // For information on handling configuration changes // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357. ? var serverConfig = ConfigurationManager.GetSection("socketServer") as SocketServiceConfig; ? if (!SocketServerManager.Initialize(serverConfig, ResolveServerConfig)) { Trace.WriteLine("Failed to initialize SuperSocket!", "Error"); return false; } ? if (!SocketServerManager.Start()) { Trace.WriteLine("Failed to start SuperSocket!", "Error"); return false; } ? return base.OnStart(); } ? private IServerConfig ResolveServerConfig(IServerConfig serverConfig) { var config = new ServerConfig(); serverConfig.CopyPropertiesTo(config); ? var instanceEndpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints[serverConfig.Name + "Endpoint"]; if (instanceEndpoint == null) { Trace.WriteLine(string.Format("Failed to find Input Endpoint configuration {0}!", serverConfig.Name + "Endpoint"), "Error"); return serverConfig; } ? var ipEndpoint = instanceEndpoint.IPEndpoint; config.Ip = ipEndpoint.Address.ToString(); config.Port = ipEndpoint.Port; return config; }就這樣,你的SuperSocket服務器程序就可以正確的運行在Windows Azure平臺之上。
完整的示例代碼,請參考源代碼中WindowsAzure文件夾下的項目。
轉載于:https://www.cnblogs.com/jzywh/archive/2011/05/16/2048131.html
總結
以上是生活随笔為你收集整理的SuperSocket 1.4系列文档(17) 在Windows Azure中运行SuperSocket的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven的系统变量设置
- 下一篇: 一个老故事