Aide - Recherche - Membres - Calendrier
Version complète : equivalent des socket pour palm OS
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Microbug
Bonjour

Qu'existe-il pour faire des programmes utilisant le réseau sur palm ( protocole tcp/ip )
Je suppose qu'il y a un équivalent des socket sur les pc ?

Merci, Seb
Patrice
Oui, à la base tu as la "Net Library" qui est assez équivalente aux sockets BSD.
Pour t'aider, il y a un programme open-source "HTTPTester" qui comporte une couche de "transformation" d'une API vers l'autre. Malheureusement, il va falloir que tu cherches ça toi-même, le lien que j'avais a l'air d'être mort (sur www.palmopensource.com).
Microbug
Impossible de trouver ce Httptester sur google, je trouves des liens, mais c'est tout mort.

Quelqu'un aurait un example d'utilisation de Netlib dans un programme.
Je cherche vraiment quelque chose de tres simple:
Ouvrir un socket vers une certaine Ip et un certain port.
Envoyer des données ( des striung dans mon cas mais ca peut importe )
Recevoir des données ( des strings aussi icon_biggrin.gif )
Pis, bah... fermer la socket proprement sourire.gif

Si quelqu'un a un bout de source,
Merci de votre aide sourire.gif
Microbug
je me réponds a moi meme au fur et a mesure que j'avance dans le probleme sourire.gif

voici ce qui me cause quelques soucis:

pour définir la ou dois aller se connecter une socket NetLib, il faut utiliser une structure de type: NetSocketAddrType

Le probleme est que la doc de palm n'indique pas ou rentrer l'ip et le port dans cette structure :/

cette structure est ensuite utilisé par NetLibSocketConnect a qui l'on passe un pointeur vers NetSocketAddrType et égallement d'apres la doc :" Length of address in *sockAddrP."

Je comprends pas trop la

--------------------------
autrement, d'apres la doc du sdk:
Note that this structure is the same size as NetSocketAddrINType and NetSocketAddrRawType. This means that one of those two structures can be used for parameters declared to be NetSocketAddrType.

ce qui laisse supposer que je pourrais remplacer la NetSocketAddrType par une NetSocketAddrINType.
Il se trouve que je sais me servir de NetSocketAddrINType, on trouve la meme sur pc.
mais quand je passe à la fonction NetLibSocketConnect un pointeur vers une structure NetSocketAddrINType, le compilateur me renvoie l'erreur suivante ( palmphi ): incompatible pointer type

faut-il faire un typecast ? comment ?

quelqu'un peut m'aider ? sourire.gif

Merci
Patrice
Oui c'est ça. Un pseudo-exemple pour essayer de t'aider (sans les tests d'erreurs), pour une connexion à host:port :
CODE
NetHostInfoBufType  AppHostInfo;

NetSocketAddrINType    server;

Err                 err;

NetSocketRef        sr;



NetLibGetHostByName(NetLibRefNum, host, &AppHostInfo, NetLibTimeout, &err);

sr = NetLibSocketOpen(NetLibRefNum, netSocketAddrINET, netSocketTypeStream, 0, NetLibTimeout, &err);

NetLibSocketConnect(NetLibRefNum, sr, (NetSocketAddrType *)&server, sizeof(server), NetLibTimeout, &err);

NetLibSend(NetLibRefNum, sr, (void *)header, hdrlen, 0, 0, 0, NetLibTimeout, &err);

NetLibReceive(NetLibRefNum, sr, &lec, 1, 0, 0, 0, NetLibTimeout, &err);

NetLibSocketClose(NetLibRefNum, socket, NetLibTimeout, &err);
olivier101
Tu peux toujours essayer de consulter le source de ces 2 projets utilisant des sockets, même s'il faut creuser un peu pour trouver les sockets sleep.gif

icon_arrow.gif http://sourceforge.net/projects/palm-smbclient/
icon_arrow.gif http://sourceforge.net/projects/palmvnc2/
Microbug
(NetSocketAddrType *)&server

c'est ce typecast la qui me manquait.
je savais qu'il fallait en faire un, mais j'avais oublié de mettre le & devant le serveur, alors que la fonction attends un pointeur :]

enfin boin bref, ca marche sourire.gif

Merci !
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.