我靠着SignalR。我如何編寫一個簡單的應用程序,以便用戶可以使用Hub實時查看服務器時間。每隔1秒,服務器將從服務器向連接的客戶端發送時間如何使用SignalR製作服務器時間應用程序
回答
您可以在使用線程時執行此操作。
例集中器類:
public class ServerTime : Hub
{
public void Start()
{
Thread thread = new Thread(Write);
thread.Start();
}
public void Write()
{
while (true)
{
Clients.settime(DateTime.Now.ToString());
Thread.Sleep(1000);
}
}
}
示例腳本:
<script type="text/javascript">
$(document).ready(function() {
var time = $.connection.serverTime;
$("#btnTest").click(function() {
time.start();
});
time.settime = function (t) {
$("#Time").html(t);
};
$.connection.hub.start();
});
</script>
<div id="Time"></div>
<input id="btnTest" type="button" value="Test"/>
線程將開始工作,當您單擊爲btnTest。 線程每秒發送一次消息給頁面。
那麼,如果其他用戶訪問此頁面會發生什麼?那麼我們有兩個線程開始? – vNext 2012-02-28 08:16:13
您不需要啓動兩個線程。因爲它會在線程第一次啓動時發送ServerTime所有連接的用戶。開始線程一次就足夠了。 – sinanakyazici 2012-02-28 08:55:24
我對signalR也是新手。我嘗試了上面的確切代碼的示例,但我仍然收到以下錯誤: 「SignalR:連接必須在數據可以發送之前啓動,請在.send()之前調用.start()。 我的參考資料都是正確的。我很難過! – Dkong 2012-03-02 08:00:21
創建一個監聽器,並引發一個事件時,通知被添加:)因此,你就不必不斷地檢查數據庫:)
在Global.asax中在Application_Start(object sender, EventArgs e)
方法創建一個後臺線程並啓動它。在該線程,你需要這樣做是爲了讓你的集線器訪問:
IConnectionManager connectionManager = AspNetHost.DependencyResolver
.Resolve<IConnectionManager>();
dynamic clients = connectionManager.GetClients<ServerTime>();
clients.settime(DateTime.UtcNow.ToString());
NB DateTime.UtcNow
幾乎總是可取的,因爲它不圍繞每年兩次飛躍。
- 1. 如何使用PHP製作服務器應用程序
- 2. UWP應用程序可以充當SignalR服務器嗎?
- 3. 無服務器應用程序 - 如何
- 4. 應用程序服務器工作
- 5. 從應用程序服務器根服務GWT應用程序
- 6. 如何從外部應用程序(不使用SignalR)啓動SignalR集線器
- 7. 日期時間格式時,應用程序作爲Windows服務
- 8. WCF服務應用程序定時器
- 9. 應用程序服務器
- 10. 如何同步我的應用程序和服務器之間的時間?
- 11. 我如何開始使用API SearchConsole(服務器到服務器應用程序)?
- 12. AngularJS與signalR服務不起作用的服務器調用
- 13. 在Java應用程序中調度任務時如何使用NTP服務器?
- 14. 我應該如何爲Android應用程序製作服務器端軟件?
- 15. 如何使無服務器應用程序的反應路由器工作?
- 16. 如何製作自助服務終端應用程序iPhone
- 17. 何時使用Mongrel作爲Rails應用程序的Web服務器?
- 18. 如何使用jprofiler9來分析java服務器應用程序?
- 19. 如何使用eclipse IDE配置jboss應用程序服務器?
- 20. 如何使用tomcat服務器驗證android應用程序?
- 21. 如何使用Java應用程序服務器
- 22. 如何使用webpack dev服務器部署Webpack應用程序?
- 23. 如何在每個時間限制使用url ping服務器
- 24. Rails 3應用程序服務器啓動時間很長
- 25. 在客戶端 - 服務器應用程序中處理時間
- 26. 獲取NTP - 服務器的時間從Android應用程序
- 27. 在GAE應用程序上更改服務器時間
- 28. 如何使用JSP/Servlets應用程序在特定時間運行服務?
- 29. 使用Navision應用程序服務器創建Navision服務?
- 30. 使用Jetty作爲Java EE應用程序服務器
你有什麼具體問題嗎?你寫了什麼嗎? – nmat 2012-02-24 10:42:47