⇨ MENU ⇨ BIBLIOTHEQUE ⇨ socklib.bbc
FN_recvfromsocket()
⇨ MENU ⇨ BIBLIOTHEQUE ⇨ socklib.bbc
FN_recvfromsocket()
DESCRIPTION.
La fonction FN_recvfromsocket() receptionne une suite d'octets via une connexion UDP.
SYNTAXE.
kemetteur = FN_recvfromsocket( socket , debut , quantite , emetteur , port )
REMARQUES.
socket doit être l'identifiant de la variable ayant reçue la valeur retournée par la fonction FN_udpsocket().
debut doit être un nombre entier indiquant l'adresse mémoire où sera écrit le premier octet reçu.
quantite doit être un nombre entier indiquant le nombre maximal d'octets qui pourront être écrits par émission.
emetteur doit être une valeur numérique indiquant l'adresse IP, en ordre d'octets réseau (big-endian), de la machine émettrice. La valeur de emetteur peut être obtenue grace à la fonction FN_sethost().
port doit être une valeur numérique indiquant le numéro du port du réseau en ordre d'octets réseau (big-endian). la valeur de port peut être connue avec un appel de la fonction FN_setport().
La fonction FN_recvfromsocket() va retournée une valeur identifiant la machine émettrice.
Voir l'instruction DIM qui permet de réserver une zone en mémoire, d'un certain nombre d'octets, et qui retourne dans une variable l'adresse du premier octet de cette zone.
Voir la fonction FN_sendtosocket() qui envoie une suite d'octets via une connexion UDP.
Voir la fonction FN_readsocket() qui réceptionne une suite d'octets via une connexion TCP/IP.
Voir la fonction FN_readlinesocket() pour réceptionne une chaine de caractères via une connexion TCP/IP.
Rappel : la procédure PROC_initsockets() doit être appelée avant toute autre utilisation d'une procédure ou fonction du module socklib.bbc. et la procédure PROC_exitsockets devra être appelée dès que toutes les opérations de communication seront terminées, et avant de terminer et de fermer l'application.
La fonction FN_recvfromsocket() est importée depuis le module socklib.bbc.
EXEMPLE.
REM --- Module de la bibliothèque BBC BASIC ---
INSTALL @lib$ + "socklib.bbc"
REM --- INITIALISATION GENERALE ---
ON CLOSE PROC_Fermeture
DIM ADR_Debut 1024 : REM --- reserve 1024 octets en memoire et indique l'adresse du premier octet dans ADR_Bebut
REM --- Initialisation de socklib ---
PROC_initsockets
REM --- Creation du client ---
kmachine = FN_udpsocket( "" , "1234" )
IF kmachine > 0 THEN PRINT "Connexion etablie." ELSE PRINT "Une erreur est survenue."
kemetteur = FN_recvfromsocket( kmachine , ADR_Debut , 1024 , &ffffffff , FN_setport( "1234" ) )
PRINT "Données recues de " ; kemetteur
REM --- Fermeture du canal de communication (socket) ---
INPUT "Appuyez sur entree pour continuer ... " ; kpause$
PRINT "Déconnection du client."
PROC_closesocket( kclient )
PROC_Fermeture
END
REM --- Gestion de la fermeture du programme ---
DEF PROC_Fermeture
PROC_exitsockets
QUIT
ENDPROC
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.