Salut, j'ai ça depuis pas longtemps; ça n'affiche pas le message du serveur.
Code source du serveur :
#include <SFML/Network.hpp>
#include <iostream>
int main (int argv, char* argc[]) {
sf::TcpListener listener;
if (listener.listen(10000) != sf::Socket::Done)
std::cerr<<"Error while listening to the port"<<std::endl;
sf::SocketSelector selector;
selector.add(listener);
std::vector<sf::TcpSocket*> clients;
while (true) {
if (selector.wait(sf::milliseconds(10))) {
if (selector.isReady(listener)) {
sf::TcpSocket *client = new sf::TcpSocket();
if (listener.accept(*client) == sf::Socket::Done) {
std::cout<<"client connected"<<std::endl;
selector.add(*client);
clients.push_back(client);
}
}
for (unsigned int i = 0; i < clients.size(); i++) {
if (selector.isReady(*clients[i])) {
sf::Packet packet;
if (clients[i]->receive(packet) == sf::Socket::Done) {
std::string message;
packet>>message;
std::cout<<"message : "<<message<<std::endl;
message = "I'm fine thanks";
packet.clear();
packet<<message;
clients[i]->send(packet);
} else {
std::cout<<"client disconnected"<<std::endl;
selector.remove(*clients[i]);
delete clients[i];
}
}
}
}
}
return 0;
}
Code source du client :
#include <SFML/Network.hpp>
#include <iostream>
int main (int argv, char* argc[]) {
sf::TcpSocket socket;
if (socket.connect(sf::IpAddress::LocalHost, 10000) != sf::Socket::Done)
std::cerr<<"Server not running"<<std::endl;
std::string message = "Hello server";
std::string message2 = "how are you";
sf::Packet packet;
packet<<message;
socket.send(packet);
packet.clear();
packet<<message2;
socket.send(packet);
packet.clear();
sf::SocketSelector selector;
selector.add(socket);
while (true) {
if (socket.receive(packet) == sf::Socket::Done) {
packet>>message;
std::cout<<"message : "<<message<<std::endl;
}
}
return 0;
}
Pourtant avant ça marchait.
Rien à voir mais j'ai aussi ce soucis :
static bool startCli (int portTCP, int portUDP, sf::IpAddress, bool useSecuredConnexion = true);
Lorsue j'appelle la méthode sans passer le troisième paramètre, la variable booléenne vaut false hors u'elle devrait valoi true.
Bref, je ne parviens plus à travailler, tout cela est vraiment instable, ce ui marchait hier ne marche plus aujourd'hui.