Quantcast
Channel: Chat privado C# SignalR
Viewing all articles
Browse latest Browse all 7

Chat privado C# SignalR

$
0
0

Buenas, ya cree un post hace unos días, viendo cual era la mejor forma de hacer un chat, opte por la idea de SignalR, ya que me pareció mas "Simple". Aunque según me comentaron, con una aplicación de escritorio (winForms), SignalR tenia algunas carencias (actualmente estoy haciendo un winForms).

Conseguí que me saliera un chat general, pero mi idea realmente es hacer un chat privado, y no soy capaz de dar con la clave para poder enviar mensajes desde un cliente a otro cliente (no a todos).

Lo que tengo probado por parte del cliente:

private void BEnviar_Click(object sender, EventArgs e)
        {
            HubProxy.Invoke("Send", nombreAmigo, UserName, TBSendChat.Text);
            TBSendChat.Text = String.Empty;
            TBSendChat.Focus();
        }

        private async void ConnectAsync()
        {
            Connection = new HubConnection(ServerURI);
            Connection.Closed += Connection_Closed;
            HubProxy = Connection.CreateHubProxy("MyHub");
            HubProxy.On<string, string>("AddMessage", (name, message) =>
                this.Invoke((Action)(() =>
                    RichTextBoxConsole.AppendText(String.Format("{0}: {1}" + Environment.NewLine, name, message))
                ))
            );

Siendo nombreAmigo un string del nombre del usuario (que seria igual que el nombre que pone el usuario en el textBox al logearse al servidor) al que quiero hablar

Por parte del servidor:

 public class MyHub : Hub
    {
        public void Send(string nombreAmigo, string name, string message)
        {
            MessageBox.Show(nombreAmigo);
            Clients.User(nombreAmigo).addMessage(name, message);
        }

También he probado:

public class MyHub : Hub
    {
        public void Send(string nombreAmigo, string name, string message)
        {
            MessageBox.Show(nombreAmigo);
            Clients.Client(nombreAmigo).addMessage(name, message);
        }

Realmente no encuentro nada que funcione para enviar el mensaje a un usuario en concreto, si alguien sabe como hacerlo me ayudaría bastante!

Saludos y gracias!



Viewing all articles
Browse latest Browse all 7

Latest Images

Trending Articles





Latest Images