effectuer un ping

cutmeistercutmeister Membre
avril 2013 modifié dans Apple Developer Programs #1
bonjour je souhaite effectuer un ping dans mon application sous IOS et mes questions sont les suivantes:

1 - esse possible de faire cela ?

2 - si oui auriez vous une piste?



PS: reachability n'est pas ce que je cherche mais bel et bien un vrai ping



merci d'avance image/smile.png' class='bbc_emoticon' alt=':)' />

Réponses

  • Le "ping" est en fait paquet réseau spécial de type ICMP.



    Je ne sais pas dans quel mesure on a accès au stock TCP/IP, mais si c'est le cas, ça doit être possible.
  • Bah tu va lire les sources de la commande et tu essaye de faire la même chose, tu verra bien si tu y arrive ou non.



    http://www.opensource.apple.com/source/network_cmds/network_cmds-85/ping.tproj/ping.c
  • image/rolleyes.gif' class='bbc_emoticon' alt='::)' /> je n'ai qu'une réponse:
    Ping a démarré...



    PING 88.164.cocoa.café (88.164.cocoa.café): 56 data bytes

    PONG from 88.164.cocoa.café: icmp_seq=0 ttl=64 time=1.525 ms

    PONG from 88.164.cocoa.café: icmp_seq=1 ttl=64 time=1.139 ms

    PONG from 88.164.cocoa.café: icmp_seq=2 ttl=64 time=1.094 ms

    PONG from 88.164.cocoa.café: icmp_seq=3 ttl=64 time=1.119 ms

    PONG from 88.164.cocoa.café: icmp_seq=4 ttl=64 time=1.233 ms



    --- 88.164.cocoa.café ping statistics ---

    5 packets transmitted, 5 packets received, 0.0% packet loss

    round-trip min/avg/max/stddev = 1.094/1.222/1.525/0.159 ms
    Cette réponse n'est valable qu'aujourd'hui.
  • image/cliccool.gif' class='bbc_emoticon' alt=' :p ' /> image/crazy.gif' class='bbc_emoticon' alt=' B) ' />

    et plus sérieusement?et sans réinventer la roue?
  • Quoi sans réinventer la roue ? Tu veux une commande de ping au sein de ton logiciel, tu l'implémente et c'est tout... Et tu n'a pas à  réinventer la roue, le code de la commande est OpenSource !



    J'avoue ne pas comprendre ce type de remarque, c'est un métier d'être développeur, tu as une idée, tu veux la réaliser, tu la code ! Faut pas espérer que quelqu'un d'autre ait fait le travail à  ta place et que tu n'ai plus qu'à  mettre ton nom dessus !
  • en 2sec une petite recherche sur GOOGLE et hop c'est trouvé



    http://stackoverflow.com/questions/8132827/how-to-ping-or-check-if-server-of-particular-ip-address-is-available-connected-i



    faut juste chercher un peu image/apple.gif' class='bbc_emoticon' alt='' />
  • a stitch si tu me relis tu verras que je connais cette solution mais qu'elle ne corresponds pas a ce-que je veut et que je sait moi aussi chercher sur google.



    a yoan je ne te dirais qu'une seule chose "oui c'est réinventer la roue"

    recoder la commande ping au lieu d'utiliser une commande ou une bibliothèque déjà  existante c'est réinventer la roue. car en cherchant encore un peu plus j'ai trouvé ma réponse qui est "SimplePing" UNE ROUE REINVENTEE PAR APPLE.

    et merci de ton aide car je sait que malgré cela tu n'a voulu rien d'autre que m'aider
  • sans rancune yoan mais tu sait pas tu sait pas ....
  • AliGatorAliGator Membre, Modérateur
    Pour le coup c'est Apple qui a réinventé la roue avec SimplePing, puisque yoann t'avais déjà  donné la réponse correcte en te donnant le lien vers le code source de la commande ping officielle, qu'il te suffit de copier/coller (et le Sample Code d'Apple n'a fait qu'utiliser ce même principe de code, recodé à  la sauce Apple...)

    Pour le coup c'est toi qui est un peu de mauvaise foi...
  • Aligator mon souci est que je ne voulais pas forcement le réécrire or avec SimplePing je n'ai qu'a ajouter et faire appelle non? et avec SimplePingHelper a écrire un truc comme

    [/b]<br />
    <br />
    - (void)tapPing {<br />
        [SimplePingHelper ping:@&quot;www.google.com&quot;<br />
            target:self sel:@selector(pingResult:)];<br />
    }<br />
    <br />
    <br />
    - (void)pingResult:(NSNumber*)success {<br />
        if (success.boolValue) {<br />
    	    [self log:@&quot;SUCCESS&quot;];<br />
        } else {<br />
    	    [self log:@&quot;FAILURE&quot;];<br />
        }<br />
    }<br />
    




    c'est ce que j'appelle faire appelle a une bibliothèque deja existante sans devoir en réécrire une

    donc au lieu de réécrire le code source de la commande je n'ai qu'a écrire quelques lignes (et ce n'est pas de la paresse mais la réutilisation de codes déjà  faits en remerciant les personnes qui partagent le résultat de leurs efforts )
  • Bon on va laisser tomber... La réutilisation pour des objets complexe oui, maintenant pour un wrapper de ping, tu aurais été plus vite de le faire toi même en partant des sources de la commande plutôt qu'à  chercher pendant des heures " et au point de demander sur un forum " une version déjà  faite.
  • 'yoann' a écrit:


    J'avoue ne pas comprendre ce type de remarque, c'est un métier d'être développeur ...




    Ce type de remarque ne cessera jamais de m'étonner quand, à  l'évidence, une bonne partie des intervenants sur ce forum sont de simples amateurs ...
  • oui yoan c'est mieux de laisser tomber mais si je demande c'est que je débute et que je ne sait pas.

    pour la réutilisation de code si apple l'a mis la c'est bien pour une bonne raison et de la a refaire la commande aussi simple que cela soit ....



    tu est sur un forum d'entre-aide donc ou tu aide, tu conseille et tu accepte les critiques ou tu s'abstient de répondre. et être "un pro" comme d'après tes remarque tu aimes te califier ne veut pas dire avoir un égo surdimensionné et être aussi arrogant que possible.
    'yoann' a écrit:


    J'avoue ne pas comprendre ce type de remarque, c'est un métier d'être développeur, tu as une idée, tu veux la réaliser, tu la code ! Faut pas espérer que quelqu'un d'autre ait fait le travail à  ta place et que tu n'ai plus qu'à  mettre ton nom dessus !


    en oubliant ton arrogance : ça s'appelle réinventer la roue !!!!!!!!

    tu fabrique tout seul tes ustensiles de cuisine aussi ? et tu fait du feu avec un silex que tu concasse tout seul en le tapant contre un autre ?
  • Ce n'est pas par ce qu'on est un amateur qu'on doit faire un travail de sagouin... Il fut un temps ou un travail d'amateur était un qualificatif respectable. Le travail d'amateur étant fait par des gens ayant le temps de bien faire les choses.



    Lorsque je dis qu'être développeur est un métier j'entends par là  que cela demande des qualifications et un travail difficile. Il n'est pas simplement question d'assembler plus ou moins maladroitement des codes fait par d'autre. Il n'y a pas de pro ou non pro dans le dev, c'est un métier qui se rapproche plus de l'artisanat qu'autre chose, un métier qui demande une exécution soigné pour un travail de qualité.



    Ce n'est pas de l'arrogance que de chercher à  montrer la bonne marche à  suivre quand une question est posé. On pose une question sur un forum pour avoir de l'aide, en aucun cas pour avoir la solution toute faite.
  • 'cutmeister' a écrit:


    tu est sur un forum d'entre-aide donc ou tu aide, tu conseille et tu accepte les critiques ou tu s'abstient de répondre. et être "un pro" comme d'après tes remarque tu aimes te califier ne veut pas dire avoir un égo surdimensionné et être aussi arrogant que possible.




    Et il ne te viendrait pas à  l'esprit que Yoann sait exactement de quoi il parle ? Même pas un petit peu ?
  • Perso j'écouterai Yoann très attentivement, ses conseils et pistes sont souvent toujours très avisés !
  • ce que je n'ai pas aimé dans les conseils de yann ce n'est pas le conseil en lui même (et je suis sur que j'ai beaucoup a apprendre de toi ) mais surtout la façon de le donner

    relis tes comme et mets toi a ma place et dit moi comment tu les prendrais ?

    et oui c'est de l'aide que je cherche sinon c'est pas une piste que j'aurais demandé mais une façon de faire
  • Mes commentaires sont très certainement sec et pour cause, tu demande de l'aide pour réaliser quelque chose qui existe en centaine d'exemplaire sur le net et qui est documenté de partout. 5 min de recherche Google t'aurais amené au résultat mais au lieu de ça tu préfère demander sur un forum un réponse sans effort et te permet de critiquer lorsque la solution apporté ne te conviens pas. Je veux bien être gentil, mais ça ressemble un peu à  du foutage de gueule non ?
  • bon je vais me répéter en disant que j'ai cherché et que partout on parle de reachability alors que c'est pas ce que je veut. sauf si tu lis que ce qui t'intéresse...

    sinon pour demander une réponse sans effort .. non je me répète encore une fois : je n'ai demandé qu'une piste ...



    et pour finir le demander sur un forum.... tu peut me rappeler a quoi sert ce forum?
  • Comme tu l'a dis, il te suffisait de chercher encore un peu pour trouver SimplePing (qui est le 3e résultat Google sur ping source code objective-c quand même...).



    Un forum sert à  demander de l'aide oui, mais c'est mal vu de demander de l'aide pour un truc aussi simple et implémenté que ça. RFC 1855.
  • image/clap.gif' class='bbc_emoticon' alt=' :D ' /> RFC 1855.
  • CéroceCéroce Membre, Modérateur
    avril 2013 modifié #23
    Le mauvais programmeur, il a une fonctionnalité à  implémenter. Ben, il prend son éditeur, et il code.

    Alors que le bon programmeur, il a une fonctionnalité à  implémenter. Ben, il prend son éditeur, et il code. Mais c'est un bon programmeur !




    (c.f. Le mauvais/bon chasseur, le mauvais/bon hard-rocker).



    Je clos ce sujet et ce débat sans fin. (Que celui qui n'a jamais pompé du code sur le net sans comprendre complètement me jette la première pierre).
Cette discussion a été fermée.