Page 1 sur 2

dll et fonction externe

Publié : sam. 12/juin/2010 22:12
par bloiiing
Salut,

J'aimerais savoir s'il est possible, en PureBasic, d'utiliser une fonction dans une dll écrite et compilées dans un autre langage, comme le C ou le Pascal?

Je demande ça car j'aimerai pouvoir utiliser le protocole UDP qui n'est pas implémenté dans PureBasic. D'après l'aide seul le TCP est implémenté et je voulais juste savoir, si je ne pourrais pas utiliser le C pour programmer la fonction qui me manque, et utiliser PureBasic pour le reste de mon programme.

Merci d'avance pour vos éclaircissements.

Re: dll et fonction externe

Publié : sam. 12/juin/2010 22:17
par venom
Salut bloiiing,

je ne sais pas ce que tu veut faire via UDP mais dans purebasic, a la fonction Network tu peut créer un serveur en UDP :

CreateNetworkServer(#Serveur, Port [, Mode])
Mode = #PB_Network_TCP: Le serveur utilisera le protocole TCP (mode par défaut).
#PB_Network_UDP: Le serveur utilisera le protocole UDP

Apres ça n'est peut être pas ce que tu veut.






@++

Re: dll et fonction externe

Publié : sam. 12/juin/2010 22:46
par bloiiing
Ça m'a l'air d'être bon, je vais essayer pour voir si ça marche, comme ça je programmerai tout en PureBasic. Merci pour la réponse.

En fait je veux juste me faire un petit soft pour réveiller mon disque dur réseau. C'est pour cette raison que j'ai besoin d'utiliser le protocole UDP.

Ceci dit, est-ce que l'on peut écrire et compiler des fonctions externes en C et les utiliser dans PureBasic?

A+

Re: dll et fonction externe

Publié : sam. 12/juin/2010 23:08
par Backup
bloiiing a écrit : Ceci dit, est-ce que l'on peut écrire et compiler des fonctions externes en C et les utiliser dans PureBasic?

A+

ben oui !

d'ailleurs la plupart des librairies interne a Purebasic sont écrites en C ! :)

Re: dll et fonction externe

Publié : sam. 12/juin/2010 23:08
par G-Rom
Bien sur , tu peut même en c / c++ appeler des fonctions d'un bibliothèque faite en purebasic.
une dll reste une dll , idem pour les .so

@+

Re: dll et fonction externe

Publié : dim. 13/juin/2010 3:24
par venom
Ton disque dur reseau 8O il fonctionne pas en ftp ? le mien fonctionne en ftp







@++

Re: dll et fonction externe

Publié : dim. 13/juin/2010 9:45
par bloiiing
Si, il fonctionne en ftp mais pour le réveiller on doit lui envoyer une séquence d'octets en UDP. On appelle ça, un logiciel de Wake On Lan. Ça existe déjà sous windows (wolcmd.exe) mais c'est en ligne de commande, et sous linux (wol) idem. Grace à ça, on peut réveiller n'importe quel appareil qui possède une carte ethernet et qui supporte le protocole Wake On Lan (ordinateur, disque dur, etc...).

A+

Re: dll et fonction externe

Publié : dim. 13/juin/2010 9:52
par G-Rom
C'est intéressant ca !
ca ouvre quel possibilité exactement ?

Re: dll et fonction externe

Publié : dim. 13/juin/2010 10:09
par Fred
le WOL ? Quand t'es pas chez toi, tu peux rallumer ton PC a distance et t'y connecter (la Freebox permet de redispatcher le packet WOL), pas besoin de laisser ton PC tourner ;). Sous Windows y'a une appli graphique:

http://www.depicus.com/wake-on-lan/wake-on-lan-gui.aspx

Re: dll et fonction externe

Publié : dim. 13/juin/2010 11:01
par bloiiing
Merci pour le lien. Du coup, je ne sais pas si je vais programmer le mien étant donné que ça a été déjà fait...

Re: dll et fonction externe

Publié : dim. 13/juin/2010 13:29
par GallyHC
Bonjour,

j'ai deja essaye de faire un WOL mais en PB il y a un gros problème. On ne peu envoye d'instruction sur l'IP 255.255.255.255 (broadcast). Car ne connaissant pas l'ip de la machine a allume il faut envoye a tout le reseau en presisant la MacAdresse.

Cordialement,
GallyHC

Re: dll et fonction externe

Publié : dim. 13/juin/2010 14:55
par Backup
sur la live box (orange) on peut attribuer un ip fixe au ordi connecté dessus :)

et si tu utilise noip ça devrai le faire non ?

Re: dll et fonction externe

Publié : dim. 13/juin/2010 16:24
par GallyHC
Avec un ordinateur completement Eteind je ne vois pas ou le fait de mettre une ip fixe peu etre utile pour un WOL :)

Re: dll et fonction externe

Publié : dim. 13/juin/2010 17:07
par bloiiing
En fait, le disque dur n'est pas complètement éteint, il est en standby. Sur la freebox on peut avoir un bail dhcp permanent sur une ip en particulier (ou plusieurs même). Ce que j'ai lu sur le net sans l'avoir encore vérifié, c'est que l'on peut réveiller son periphérique 5 minutes après l'avoir éteint. Après ce délai, on ne peut plus le rallumer depuis l'extérieur du réseau local pour une question de perte de bail après 5 minutes depuis l'extinction de la machine. Ça expliquerait pourquoi le soft donné par Fred ne fonctionne pas chez-moi. Pour que ça marche, il faudrait utiliser des ip fixes pour tout le monde sur le réseau local. Je ne sais pas si, avec la freebox, on peut avoir les deux en même temps (dhcp et ip fixes)?

A+

Re: dll et fonction externe

Publié : dim. 13/juin/2010 18:07
par Ar-S
J'ai 3 PC à la maison, en freebox avec un petit switch D-Link.
L'ip externe est là même pour les 3 PC, ce qui est logique, ensuite la box dispatch les ip en dhcp genre 192.168.x.x dans une plage que l'on peut définir dans les options de la box en mode routeur.
Donc avec un no-ip (si l'ip exterieur n'est pas fixe), ça devrait être logiquement pas dur de "cibler" la machine à réveiller ?
ou alors j'ai pas compris la chose ?