Member 11866011 Ответов: 1

Как отправить сообщение каждому клиенту и всем клиентам с сервера с помощью ASP.NET сигнальр.


я сделал сервер в консольном приложении, которое я хочу сделать в winform, во-вторых, я хочу знать, сколько клиентов подключено, и это мой выбор, кому я отправляю сообщение, или я хочу отправить сообщение всем клиентам.

пожалуйста, помогите мне, на самом деле это мой 8-й день в офисе, и они хотят, чтобы я проверил, могу ли я развить это или нет. Сначала это мой консольный серверный код , а за ним-код клиента java script

Что я уже пробовал:

class Program
    {
        static void Main(string[] args)
        {
            string url = "http://localhost:8080";
            using (WebApp.Start(url))
            {
                Console.WriteLine("Server running on {0}", url);
                Console.ReadLine();
            }
        }
    }
    class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR();
        }
    }
    public class MyHub : Hub
    {
        public void Send(string name, string message)
        {
            Clients.All.addMessage(name, message);
        }
    }

<!DOCTYPE html>
<html>
<head>
    <title>SignalR Simple Chat</title>
    <style type="text/css">
        .container {
            background-color: #99CCFF;
            border: thick solid #808080;
            padding: 20px;
            margin: 20px;
        }
    </style>
</head>
<body>
    <div class="container">
        <input type="text" id="message" />
        <input type="button" id="sendmessage" value="Send" />
        <input type="hidden" id="displayname" />
        <ul id="discussion"></ul>
    </div>
    <!--Script references. -->
    
    <script src="Scripts/jquery-1.6.4.min.js"></script>
   
    <script src="Scripts/jquery.signalR-2.0.3.min.js"></script>
    
    <script src="http://localhost:8080/signalr/hubs"></script>
    
    <script type="text/javascript">
        $(function () {
            
            $.connection.hub.url = "http://localhost:8080/signalr";

           
            var chat = $.connection.myHub;

            
            chat.client.addMessage = function (name, message) {
                
                var encodedName = $('<div />').text(name).html();
                var encodedMsg = $('<div />').text(message).html();
               
                $('#discussion').append('<li>' + encodedName
                    + ':  ' + encodedMsg + '</li>');
            };
            
            $('#displayname').val(prompt('Enter your name:', ''));
            // Set initial focus to message input box.
            $('#message').focus();
            
            $.connection.hub.start().done(function () {
                $('#sendmessage').click(function () {
                  
                    chat.server.send($('#displayname').val(), $('#message').val());
                    
                    $('#message').val('').focus();
                });
            });
        });
    </script>
</body>
</html>

1 Ответов

Рейтинг:
2

Graeme_Grant

Существует целый ряд Авторские Статьи[^] это может вам помочь.

Кроме того, боковая панель "связанные вопросы" на этой веб-странице (справа) содержит ряд подобных вопросов, которые могут иметь ответ, который вы ищете.

Наконец, существует ряд singalr пошаговое руководство[^] это можно найти с помощью поиска Google...


Member 11866011

не могли бы вы предоставить точную ссылку в соответствии с моим вопросом? извините за беспокойство

Graeme_Grant

Ссылки предоставляются ... найдите символ ссылки"^".

Member 11866011

в этих статьях нет точного ответа на мой вопрос.

Graeme_Grant

"Как я могу отправить сообщение каждому клиенту и всем клиентам с сервера с помощью ASP.NET сигнальр"? Я сам использовал пару из них, и они помогли мне с вопросом, который у вас есть. Если они не являются точным решением, которое вы ищете для копирования, то там более чем достаточно информации, чтобы написать свое собственное.

Member 11866011

ну, я не об этом. я просто хотел узнать некоторые основные шаги, которые я должен выполнить, чтобы достичь того, что я говорю.

спасибо

Graeme_Grant

и информация,которую вы просите, есть. Я не собираюсь писать ваш код для вас. Есть много на Freelancer.com так и будет.

Member 11866011

я не прошу вас писать код, а просто помочь мне с процедурой. Большое спасибо. я сделал это