bonjours, mon titre n'est pas tout a fait exact, donc, je vait preciser :
j'avait tout codé en un seul objet, mon soft marchait, je suis en train de tout passer en objet, jusque là aucun pb...
je dvp un soft client/serveur, j'ai codé le coté serveur sans probleme, là, j'en suis au coté client, quand je crée la meme fonction en objet, j'ai une erreure de segmetation, je n'arrive pas a trouver pourquoi, je vous colle el code ci dessous
(ps : j'utilise wxWidgets)
---------------------------------------------
code "non objet" :
code passé en objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 addrKbd.Hostname(_("127.0.0.1")); addrKbd.Service(8002); // On crée la socket socketKbdCli = new wxSocketClient(); // On choisit l'event handler, et on choisit les notification a recevoir... socketKbdCli->SetEventHandler(*this, CLIENT_KBD_ID); socketKbdCli->SetNotify(wxSOCKET_CONNECTION_FLAG | wxSOCKET_OUTPUT | wxSOCKET_INPUT); socketKbdCli->Notify(true); socketImgCli->Connect(addrImg, false); //pas de plantage socketImgCli->WaitOnConnect(10);
Code : Sélectionner tout - Visualiser dans une fenêtre à part socketKbdCli = new mySocketClient(8002, CLIENT_KBD_ID,"127.0.0.1", *this );voila, j'ai essayé de reduir au maximum
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 mySocketClient::mySocketClient(int port,int id_event,wxString IP, wxEvtHandler &eventHandler) { //on reseigne l'adresse et le port a utiliser addrIP.Service(port); addrIP.Hostname(wxString("127.0.0.1")); // On crée la socket socket = new wxSocketClient(); // On choisit l'event handler, et on choisit les notification a recevoir... socket->SetEventHandler(eventHandler, id_event); socket->SetNotify(wxSOCKET_CONNECTION_FLAG | wxSOCKET_OUTPUT | wxSOCKET_INPUT); socket->Notify(true); //a supprimmer, a remplacer par la fonction de connexion socket->Connect(addrIP, false); //plantage socket->WaitOnConnect(10); //fin de "a supprimmer" }
Partager