Microsoft.AspNet.SignalR實現彈幕(即時通訊)


引用

Microsoft.AspNet.SignalR

服務器

自定義Connection

public class BarrageConnection : PersistentConnection { protected override Task OnReceived(IRequest request, string connectionId, string data) { //在這里可以做自己的業務處理,比如把彈幕存進redis等等 return Connection.Broadcast(data, connectionId); } }

Map SignalR

[assembly: OwinStartup(typeof(BarrageDemo2.Website.Startup))]
namespace BarrageDemo2.Website { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR<BarrageConnection>("/barrageConnection"); } } }

客戶端

引用

<!--引用Microsoft.AspNet.SignalR后自動添加--> <script src="~/Scripts/jquery.signalR-2.2.2.min.js"></script>

創建連接

connection = $.connection("/barrageConnection");

發送消息

connection.send({ userName: userName, comment: comment });

接收消息

connection.received(function (data) { var bulletObj = JSON.parse(data); //...... });

示例代碼

https://github.com/zLulus/BarrageDemo/tree/master/BarrageDemo2.Website

參考資料

Microsoft.AspNet.SignalR介紹,用於任何即時性的功能
https://docs.microsoft.com/en-us/aspnet/signalr/overview/getting-started/introduction-to-signalr?WT.mc_id=DT-MVP-5003010

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM