begin process at 2010 02 10 09:41:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

Au secours

 > 

C#.Net Socket tcp pour ping? icmp impossible.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

C#.Net Socket tcp pour ping? icmp impossible.

jeudi 5 mai 2005 à 05:41:25 | C#.Net Socket tcp pour ping? icmp impossible.

troukatruc

   Bonjour,
Je suis actuellement en stage et je developpe des appli pour pocket pc en c# avec .Net.( Je sais qu'il existe un forum pdafr mais personne n'est capable de me repondre).

Voila mon probleme:
J'essaie de faire une sorte de ping pour le pocket pc.
J'ai tout d'abord essayer avec des socket icmp mais sans succes:

en declarant la socket comme ceci:
m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);

j'obtiens ce message d'erreur:
An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in System.dll
Additional information: The support for the specified socket type does not exist in this address family.

Apres avoir galere un bon moment et apres quelques heures de recherche, j'essaie avec une socket en tcp.
Tout se passe bien j'envoie un message mais je n'arrive pas a recuperer une reponse du server( j'ai essayer en synchrone et asynchrone).
Je ne connais pas bien les sockets donc je voudrais savoir si il est possible de recevoir une reponse a un envoie de message en tcp ou si quelqu'un sait pourquoi je recupere une erreur en icmp.

voici mon code(en constante modification pour essayer de recuperer une reponse du server que je ping):

this.label1.Text="";

bool Result = false;

int bytereceived=0;

byte[] buffer2 = new byte[1024];

Socket m_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

IPHostEntry loccomp=Dns.GetHostByName(Dns.GetHostName());

IPEndPoint locIP = new IPEndPoint(loccomp.AddressList[0], 11000);

try

{

IPHostEntry serverHE;

serverHE = Dns.GetHostByName(this.textBox1.Text);

IPEndPoint localEP = new IPEndPoint(serverHE.AddressList[0], 80);

EndPoint EndPointFrom = (localEP);

m_Socket.Connect(localEP);

Result = m_Socket.Connected;

if (m_Socket.Connected==true)

{

this.label1.Text+="connected to:"+localEP.ToString()+"\n";

}

else

{

this.label1.Text+="not connected to:"+localEP.ToString()+"\n";

return;

}

byte[] buffer=System.Text.Encoding.ASCII.GetBytes("test packet");

this.label1.Text+="Text sent:"+System.Text.Encoding.ASCII.GetString(buffer,0,buffer.Length);

this.label1.Text+="\tLength:"+buffer.Length+"\n";

int bytesent =m_Socket.Send(buffer,0,buffer.Length,SocketFlags.None);

this.label1.Text +="bytes sent:"+bytesent.ToString()+"\n";

if(bytesent==buffer.Length)

{

m_Socket.Shutdown(SocketShutdown.Send);

MessageBox.Show("send complete");

}

else

{

m_Socket.Shutdown(SocketShutdown.Send);

MessageBox.Show("send error");
return;

}

//bytereceived=m_Socket.ReceiveFrom(buffer2,256,0,ref EndPointFrom);

//bytereceived=m_Socket.Receive(buffer2);

bytereceived=m_Socket.Receive(buffer2,0,16,SocketFlags.None);

m_Socket.Shutdown(SocketShutdown.Receive);

this.label1.Text +="\nbytes received:"+bytereceived.ToString();

this.label1.Text+="\nText received:"+System.Text.Encoding.ASCII.GetString(buffer2,0,1024);

//m_Socket.Shutdown(SocketShutdown.Both);

this.label1.Text+="\nSocket closed";

m_Socket.Close();




Merci d'avance de l'aide que vous pouvez m'apporter.
(desole pour les accents mais je suis en Australie donc clavier qwerty)



Cette discussion est classée dans : buffer, text, socket, label1, tcp


Répondre à ce message

Sujets en rapport avec ce message

Maitriser les packets TCP [ par bucherb ] Hello!J'aurais besoin de qqun qui puisse répondre à ma question existentielle suivante:Mais bon sang, il faut faire quoi pour obtenir les seconds paqu Probleme: client IRC multi-threading [ par Skurcey ] Quand je me connecte a un serveur irc, je recois un peu de reponse du serveur puis j ai une erreur qui me dis que un thread ne peux etre execute depui MeasureString [ par Bidou ] Je cherche à savoir pourquoi le label2 et le label3 n'affiche pas la même chose dans le petit morceau de code suivant :Graphics g = label1.CreateGraph tcp socket + envoi d'objet [ par Blacknight91 ] bonjour,voilà je voudrais créer une connexion tcp client/serveur pour envoyer des données. Ces données sont dans des objets (une datatable par exemple Socket TCP [ par DCWeb ] Bonjour,Dans le cadre d'un serveur acceptant des connections TCP sur plusieurs ports, est il possible de connaitre le port sur lequel l'appli client s Programmation d'un proxy simple [ par Yaurthek ] Bonjour, j'essaie en ce moment de programmer un mini proxy (reçoit les requêtes du navigateur, les transmet au serveur, et renvoi la réponse au naviga envoi de fichier sur socket UDP ou TCP [ par jackachi ] Bonjour, J'ai trouvé beaucoup de code pour envoyer des datas "txt" sur une socket UDP ou TCP. Pourtant je ne trouve rien sur comment envoyé un fichie C#, Problème de conversion [ par amasou ] double a, b, D,r ; a = Convert.ToInt64(t1.Text); b = Convert.ToInt64(t2.Text); r = Convert.ToInt64(label1.Text) Envoie "passage à la ligne" dans socket TCP/IP [ par nicompx ] Bonjour,Comment faire pour envoyer une passage à la ligne dans un socket   exeple : socket.Send(...);   ???????????Je met simplement un " \n " mais ce chat UDP, Socket [ par guillaumeidbt ] Bonjour s'il vous plait pouvez-vous m'aider? je souhaite créer un petit chat en UDP, avec les sockets et le client et le serveur sont en une seul form


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales