IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Comment réaliser un système de tchat connecté a un server ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut Comment réaliser un système de tchat connecté a un server ?
    Bonjours,
    Je voudrais savoir si c'est faisable un système de tchat connecter a un server?
    Merci d'avance! ^^

  2. #2
    Membre éclairé
    Avatar de Etanne
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    469
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 469
    Par défaut
    Bonjour,

    Effectivement vous pouvez faire un chat sous forme de site web, application Windows, application Windows Phone connecté à un serveur sous OS Windows, Linux, Mac, etc.

    Etanne

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Merci de ta réponse, j'ai trouver des logiciels toute faites, mais pas réellement opérationnel! :/
    Je voudrais que des personnes puisse m'aider a programmer ce système!^^

  4. #4
    Membre éclairé Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Par défaut
    Nous t'aiderons, mais pour cela faut coder un peu avant. On ne propose rien de tout fait, on aide sur les erreurs commises.
    Tu as plein de tutos sur le site, de la documentation un peu partout, à toi d'avancer le plus loin possible.

    ici c'est un forum d'AIDE et non d'édition de logiciels

  5. #5
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 667
    Par défaut
    Il n'y a pas besoin de chercher loin :

    http://dotnet.developpez.com/telecha...r-un-mini-Chat

    Inspire-toi en pour faire ton propre chat.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 102
    Par défaut
    Merci pour votre réponse, je vais voir le lien que tu ma donnée PixelJuice!
    J'ai commencer a en faire un en suivant un tuto, mais il utilise pas de server!
    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    using System.Net;
    using System.Net.Sockets;
    using DevComponents.DotNetBar.Metro;
     
    namespace _2D_Gamers
    {
        public partial class Tchat : MetroForm
        {
            Socket sck;
            EndPoint epLocal, epRemote;
            byte[] buffer;
     
            public Tchat()
            {
                InitializeComponent();
            }
     
            private void Tchat_Load(object sender, EventArgs e)
            {
                //Set up socket
                sck = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
                sck.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
                //Get user IP
                textIPAmis.Text = GetLocalIP();
                textIPVous.Text = GetLocalIP();
            }
     
            private string GetLocalIP()
            {
                IPHostEntry host;
                host = Dns.GetHostEntry(Dns.GetHostName());
                foreach (IPAddress ip in host.AddressList)
                {
                    if (ip.AddressFamily == AddressFamily.InterNetwork)
                        return ip.ToString();
                }
                return "127.0.0.1";
            }
     
            private void connect_Click(object sender, EventArgs e)
            {
                //Binding Socket
                epLocal = new IPEndPoint(IPAddress.Parse(textIPAmis.Text), Convert.ToInt32(textPortAmis.Text));
                sck.Bind(epLocal);
                //Connecting to remote IP
                epRemote = new IPEndPoint(IPAddress.Parse(textIPVous.Text), Convert.ToInt32(textPortVous.Text));
                sck.Connect(epRemote);
                //Listening the specific port
                buffer = new byte[1500];
                sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
            }
     
            private void MessageCallBack(IAsyncResult aResult)
            {
                try
                {
                    byte[] receivedData = new byte[1500];
                    receivedData = (byte[])aResult.AsyncState;
                    //Converting byte[] to string
                    ASCIIEncoding aEncoding = new ASCIIEncoding();
                    string receivedMessage = aEncoding.GetString(receivedData);
                    //Adding this message into listbox
                    listMessageBox.Items.Add("Friend: " + receivedMessage);
                    buffer = new byte[1500];
                    sck.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
            }
     
            private void envMessage_Click(object sender, EventArgs e)
            {
                //Convert string message to in byte[]
                ASCIIEncoding aEncoding = new ASCIIEncoding();
                byte[] sendingMessage = new byte[1500];
                sendingMessage = aEncoding.GetBytes(textMessage.Text);
                //Sending the Encoded message
                sck.Send(sendingMessage);
                //Adding to the listBox
                listMessageBox.Items.Add("Me: " + textMessage.Text);
                textMessage.Text = "";
     
            }
        }
    }
    Mais hélas, on est obliger d'utiliser l'ip de la personne, mais je voulais juste avoir une liste qu'on peut ajouter ces contacts et qui puisse discuter comme steam/skype/messanger/etc... .
    EDIT: Je peux pas ouvrir les dossiers!
    J'ai que Visual Studio for Windows Desktop et Visual Studio for Web!

    C'est juste savoir comment ne pas utiliser l'ip de la personne, je voudrais faire comme Messenger!

Discussions similaires

  1. comment réaliser un système de pointage
    Par thelover2fr dans le forum Développement Sharepoint
    Réponses: 6
    Dernier message: 23/11/2009, 10h53
  2. msi ou comment réaliser un installeur?
    Par herzleid dans le forum Delphi
    Réponses: 11
    Dernier message: 09/04/2007, 19h27
  3. Comment réaliser des modèles de documentations avec XML ?
    Par Dams76 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 29/08/2003, 02h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo