bonjourj'ai un projet sous linux devant faire un client et un server sous linux
j'ai l'habitude de le faire en Cmais en cpp on n'a programmer que sur borland bulder"windows"
![]()
si quelqu'un pourait m'aider svp
bonjourj'ai un projet sous linux devant faire un client et un server sous linux
j'ai l'habitude de le faire en Cmais en cpp on n'a programmer que sur borland bulder"windows"
![]()
si quelqu'un pourait m'aider svp
quoi comme client/serveur?
pour tes echanges, t'aplein de framworks, dont QT, wxwidgets, boost(jesuppose)...
apres a toi de faire ton choix en fonction de tes besoins...![]()
echange de fochier ... sur le port (4321) "ses moi qui les choisie"![]()
et pour l'interface on utilise anjuta
mais je n'ai pas de doc dessus donc sa mise en euvre est fastidueuse
donc si quelqu'un pouvait m'aider sur le server je pourrait me maitre a fond sur anjuta et gtk
toute aide sera la bienvenue
doit tu suivre un protocole en particulier?
FTP?
ou te lancer dans ta propre voie?
je doit me faire un serveur qui envoi tout les fichier autour de lui des que le client se connecte![]()
et donc un truc plus perso !
et sinon, tu doit proceder a une authetification?
sinon, je connait pas ajunta.
par contre ton serveur... c'est assez simple.
je vait te parler de ce que je connait : wxwidgets :
tu crée un objet wxSocketServer :
tu donne donc : le port d'ecoute.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 addrKbd.Service(8002); socketKbdSrv = new wxSocketServer(addrKbd); socketKbdSrv->SetEventHandler(*this, SERVER_KBD_ID); socketKbdSrv->SetNotify(wxSOCKET_CONNECTION_FLAG | wxSOCKET_INPUT | wxSOCKET_OUTPUT); socketKbdSrv->Notify(true);
tu instancie ton serveur
tu lui donne un gestionnaire d'evenement (qui va choisir les fonction a appeler en fonction de ce qui se passe)
tu dit quels evenements doivent t'etre notifiés
et tu dit que tu veut etre notifé
ensuite, dans ton gestionnaire d'evenemtents :
=> pour chaque nouvelle connexion, tu crée une nouvelle socket.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 void vncPeuThreadeFrm::OnServerEventKbd(wxSocketEvent& event) { /* TODO (#1#): Implement vncPeuThreadeFrm::OnServerEventKbd() */ //on recoit le KBD wxString s = _("Evenement serveur: "); sockBaseKbd = event.GetSocket(); switch(event.GetSocketEvent()) { case wxSOCKET_CONNECTION : s.Append(_("wxSOCKET_CONNECTION (KBD): ")); break; default : s.Append(_("evenement inatendu!\n")); break; } memoLog->AppendText(s); // Accepte une nouvelle connection si il y en a une dans la file d'attente // sinon, on sort. on utilise accept(false) pour effectuer une acceptation //non blocante pour le GUI (au cas ou finalement il n'y ait rien dasn la //file d'attente) sockBaseKbd = socketKbdSrv->Accept(false); if (sockBaseKbd) { memoLog->AppendText(_("connection acceptée\n")); } else { memoLog->AppendText(_("erreure, connection refusée de facon inatendu\n")); return; } sockBaseKbd->SetEventHandler(*this, SOCKET_KBD_ID); sockBaseKbd->SetNotify(wxSOCKET_INPUT_FLAG | wxSOCKET_LOST_FLAG | wxSOCKET_OUTPUT_FLAG); sockBaseKbd->Notify(true); //pour recevoir les evenements :) }
cetet socket representera ta connexion avec le client
voila
apers, pareil, t gere tes evenements...
si tu bloque, hesite po![]()
merci je vai pouvoir essayer avec l'ihm quye j'ai deja cree![]()
attention, j'utilise wxwidgets, donc c'est a adapter a ton prjoet, prend ca comme du metha code![]()
apres lecture de ton code source il est claire que sa ne m'aide que pour la syntaxe du c++
les partie du code que tu ma passer son tres interressante mais pas valable avec les logicielle utiliser pour mon ecole
j'en ai parler a mes prof et il m'ont dit de me servire des cour et des logitielle imposer![]()
mais bon mon projet avance lantement mais surement![]()
ca peut t'aider dans la logique :
=> lorsque tu crée un serveur, tu crée une socket dediée a l'ecoute.
ensuite, lorsqu'un client fait une tentative de connexion, le serveur crée un autre socket, dédiée a ce client.
ensuite, il faut gérer les "evenements" => donnée entrante, fin d'envoie des donnée, connexion perdue...
ce bout de code n'avait pas d'autre pretention
ps : y'a un article sur les sockets de l'api windows chez developpez.com, essaie de le mater aussi![]()
comme tu le vois j'ai travailler jusqua tres tard et ton bou de code ma permie de voir que en partans du c je ne ferais jamais un bon code en C++.![]()
j'ai tous repris de la base grace a tes consielle mais je n'ai pas encore terminner![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager