réception de données par un socket
Salut à tous,
Je sais que certaines personnes diront que le réponse se trouve sur google mais, franchement cela fait une semaine que je cherche la solution en vain sur le net. Je bute sur un problème que je n'arrive pas à comprendre. Je développe - pour un ami -une application serveur en c# 3.5 sensée recevoir d'un appareil connecté sur une machine distante des données. Malheureusement lorsque le client se connecte je reçois l'erreur suivante lors de la réception des données :
Citation:
Une requête d'envoi ou de réception de données n'a pas été autorisée car le socket n'est pas connecté et (lors de l'envoi sur un socket.... .
Alors que j'ai bien pris soin de faire socket.Bind(ipe) - où ipe=l'instance de mon IPEndpoint();
voici le code :
Code:
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
|
private void txt_IpAds_KeyPress(object sender, KeyPressEventArgs e)
{
try
{
if (e.KeyChar == (char)Keys.Enter)
{
ipa = this.txt_IpAds.Text.Trim();
this.txt_IpAds.Visible = false;
ipe = new IPEndPoint(IPAddress.Parse("192.168.1.80"), 8000);
sock.Bind(ipe);
sock.Listen(20);
Thread thr = new Thread(new ThreadStart(acceptLesCnx));
thr.Start();
}
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message.ToString());
}
}
private void acceptLesCnx()
{
try
{
sock.Accept();
sock.Receive(buffer, SocketFlags.None);
str = System.Text.Encoding.ASCII.GetString(buffer);
retourneLesInformations(str);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message.ToString());
}
} |
Merci.