moi23372 | Alors voila, je suis débutant dans la programmation réseau! Alors voila j'ai bien réussi a créer la connexion entre le client et le serveur! mais une fois que j'arrive sur l'instruction BEGINRECEIVE j'ai une belle petite exeption
"Object references not set to an instance of an objet"
Alors voila je ne comprends pas trop l'erreur en fait :s si quelqu'un pouvait me renseigner sur le sujet!
Code :
- public Form1()
- {
- InitializeComponent();
- compteur = 0;
- readbuf = null;
- try
- {
- IPHostEntry he = Dns.GetHostByName(Dns.GetHostName());
- IPAddress[] ipadress = he.AddressList;
- mysocks = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
- mysocks.Bind(new IPEndPoint(ipadress[0], 15));
- mysocks.Listen(10);
- mysocks.BeginAccept(new AsyncCallback(ConnectionAcceptCallback), mysocks);
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message.ToString());
- }
- }
- private void ConnectionAcceptCallback(IAsyncResult asyncResult)
- {
- try
- {
- //On récupere le socket qui possede la connection
- Socket socket = (Socket)asyncResult.AsyncState;
- // Si le handle est à -1 --> La socket Serveur a été fermée.
- if (socket.Handle.ToInt32() != -1)
- {
- //on accepte la connection
- mysocks = socket.EndAccept(asyncResult);
- //on ajoute un message dans la listbox
- result.Invoke(new DelegateDisplay(this.DisplayMessage), "Connexion d'un client" );
- //On se met en attente d'un message
- mysocks.BeginReceive(readbuf, 0, readbuf.Length, SocketFlags.None, new AsyncCallback(ReceiveMessageCallback), mysocks);
- }
- }
- catch (Exception ex)
- {
- result.Invoke(new DelegateDisplay(this.DisplayMessage), ex.Message.ToString());
- }
- }
|
|