.............

Programmation d'applications complexes
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

.............

Message par Backup »

..............
Dernière modification par Backup le ven. 07/oct./2011 12:16, modifié 3 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

je viens de modifier les codes coloré ci dessus
pour virer le input() et les inconvénients qu'il entrainait :)

l'exemple est stable, on peut maintenant developper les procedures qui serviront
de commandes a ce Back_orifice_like :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

je vois que ça n' interresse pas grand monde .. :roll:

pour info, j'ai ajouté la fonction Get


rappel :
les commandes doivent etre ajouté dans le serveur !
sous forme de procedures


:)
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Client/serveur

Message par venom »

Si ça peut être intéressant via des procédures d'ajouté des fonctions j'ai juste lancer le code je n'ai pas encore eu le temps de me pencher dessus :wink:
je regarderais a ça







@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
SPH
Messages : 4937
Inscription : mer. 09/nov./2005 9:53

Re: Client/serveur

Message par SPH »

Ce n'est pas ininteressant mais perso, je n'en ai plus besoin. J'ai arreté de me faire des illusions sur mon jeu...

!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.12LTS- 64 bits
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

il ne s'agit pas ici, de gerer le multi_connecté
mais juste un dialogue entre client/serveur et Serveur
comme Backorifice et autre prg du genre

mais je reconnais que Purebasic est limité en matière de librairie Network

j'ai decouvert que mon Get ne fonctionne que parceque j'ai inserré un Delay()

sinon .. galere

ça sent la lib pas encore finie , mais Peut etre que Fred et son equipe vont changer cela... :)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Client/serveur

Message par Le Soldat Inconnu »

J'ajouterais bien un L dans "Back orifice", je vous laisse deviner ou :mrgreen: d'accord, je sors
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: Client/serveur

Message par cederavic »

Ton problème de connexion vient du fait que les nouvelles LiveBox n'acceptent pas les "retour d'ip". Tu ne peux pas te connecter depuis ton pc vers ton pc en passant par ton ip public, la LiveBox te redirigera toujours vers sa page d'accueil... Néanmoins les personnes externes à ton réseau le peuvent, heureusement!

Sinon, sympa ton code, j'avais déjà commencé un truc du genre il y a bien longtemps. Par-contre pour la récupération des données tu devrait procéder autrement car si le "tampon réseau" est plein tu va perdre des données.
Dans mes codes serveur / client j'opère comme ça :

Code : Tout sélectionner

    *DataBuffer = AllocateMemory(#BufferSize)
    netPass = 1
    bRec = 0
        
    Repeat
      bRec = ReceiveNetworkData(clID, *DataBuffer + ((netPass - 1) * #BufferSize), #BufferSize)
      If bRec = #BufferSize
        netPass + 1
        *DataBuffer = ReAllocateMemory(*DataBuffer, #BufferSize * netPass)
      EndIf
    Until bRec <> #BufferSize Or bRec = -1
    If bRec = -1
      dataSize = -1
    Else
      dataSize = #BufferSize * (netPass - 1) + bRec
    EndIf
#BufferSize = taille des paquets
*DataBuffer = pointeur vers l'espace alloué contenant les données
dataSize = taille de l'espace alloué (si = -1 -> erreur pendant le transfert)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

Problemes Résolus !!!! :D


tout les problemes de connexion venais du fait que j'avai mis mon serveur
sur un ordi portable relié par Wifi au <Modem !!!

ne jamais faire , pour un serveur :)

des que j'ai eu mis mes serveurs sur mon ordi relié par RJ45
tout marche niquel !!
SPH si tu nous lis ..... ;)
bon tout est ok du coup :)

j'aurai peut etre acheté un modem/routeur pour rien, mais ça m'en fait un de secours du coup :)

je vais pouvoir continuer le développement de mon petit Back_orifice like :)


ce topic redeviens mon topic a suivre ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

modification apporté surtout au serveur

correction du fonctionnement de la commande "cd"
qui maintenant marche comme en DOS (voir l'explication dans le topic avec le code)
la navigation dans l'arborescence des fichiers , est nettement plus simple :)


ajout de la fonction "info" , qui nous retourne les infos concernant l'ordinateur
sur lequel tourne le serveur
diverses infos (vitesse proc, nom du proprietaire,etc ... (Merci AR_S ;) ))

j'ai fait disparaitre la console du serveur , qui n'était là que pour le debogage :)


pour le coups, je pense que c'est une bonne base pour la suite
il est peu probable que j'ajoute quoique ce soit ici ! ;)
car la taille du code commence a etre conséquent :)

il ne reste plus qu'a develloper des procedures et d'ajouter a chaque fois
la nouvelle commande dans le serveur

c'est a la porté de tous :)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur

Message par Backup »

nouveau code (toujours au debut du topic )

correction d'un bug qui empêchait la navigation dans les dossiers a noms comportant des espaces (dossier : "pierrot de la lune")

ajout des commandes

home (qui nous replace dans le répertoire du serveur , pour récupérer la capture âr exemple)

run qui permet de lancer un prg sur l'ordi contenant le serveur
(il n'y a pas de retour... ce qui limite l'usage)

erreur qui affiche une boite d'alerte sur l'ordi contenant le serveur
(il y a un retour du choix fait par l'utilisateur)

voila , j'ai quitté le mode coloré pour mon code, ça prenait trop de place :)

taper "help" dans le client pour avoir la liste des commandes reconnues ;)
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur (Noon)

Message par Backup »

gros changement dans les codes ci dessus :)

ajout des commandes: del et Screen
qui permettent d'effacer un fichier , et de prendre une capture d'ecran

grosse correction de la fonction cd ..

j'ai refait entièrement le client ; pour utiliser les gadgets (adieu console)
l'utilisation de l'éditeur; c'est quand même plus pratique ;)
par contre il vous faudra la librairie Purecolor de Gnozal ;)

en bas a gauche ,c'est là, qu'il faut entrer l'adresse IP qu'on reçois par email
ou alors "127.0.0.1" pour tester en local ...

voila ; bon espionnage ...
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Client/serveur (Noon)

Message par venom »

Merci Dobro,

je vais tester ça ce soir :P








@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Ar-S
Messages : 9539
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Client/serveur (Noon)

Message par Ar-S »

Client - Erreur ligne 77
EditorGadgetCursorY ===> mettre EditorGadgetCursorY2
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Client/serveur (Noon)

Message par Backup »

arg !!

Merci Ar-s corrigé :)

cette fonction fait partie de la Droopy lib et comme elle est installée
chez moi ,ça ne plantais pas chez moi puisque EditorGadgetCursorY() etait fonctionnel
mais je ne voulais pas imposer une autre lib (deja purecolor ça suffit)

alors j'ai mis le source de cette procedure dans le code en la renommant EditorGadgetCursorY2()
(pour eviter le double emploi ;) )

bon j'ai appliqué ta correction , ça devrai le faire :) Merci
Répondre