簡體   English   中英

帶有ASP.NET和SignalR的井字游戲多人游戲。 創建並將消息發送給群組?

[英]Tic-Tac-Toe Multiplayers with ASP.NET and SignalR. Create and send message to a group?

例如,我有此鏈接/Site/Tris/tris.aspx?sessionId=8a657a7b15ee44c39063c8ae45a6ed3b

這是js代碼:

<script type="text/javascript">
    $(function () {
        // Declare a proxy to reference the hub. 
        var proxy = $.connection.myHub;

        proxy.client.test = function () {
            $('input').hide();//for testing
        };

        // start connetion
        $.connection.hub.start(function () {
            var sessionId = $(document).getUrlParam("sessionId");
            proxy.server.joinGroup(sessionId);
        });
    });
</script>

這是中心:

 public void JoinGroup(string groupName)
    {
        this.Groups.Add(Context.ConnectionId, groupName);
    }
public void test(string x)
        {
            Clients.Group(x).test();
        }

這是我執行步驟時的aspx代碼:

 protected void Image_Click(object sender, ImageClickEventArgs e)
    {
        string s = "8a657a7b15ee44c39063c8ae45a6ed3b";

        IHubContext context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
        context.Clients.Group(s).test();
    }

當我調用context.Clients.Group(s).test(); 在js中返回返回到$ .connection.hub.start,然后重新加入組adn test()不會被調用! 為什么? 我該怎么辦? 謝謝

原因是,當我單擊圖像並在ASPX中發生事件時,它會發送POST請求,因此頁面在刷新后立即刷新

 proxy.client.test = function () {
            $('input').hide();//for testing
        };`

叫做。 我必須使用js來完成所有這些操作,以避免POST請求和刷新。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM