Hello,
le titre n'est pas exact en ce sens que le problème vient certainement de moi, mais voici mon soucis :
Je cherche à envoyer un message d'un client vers un serveur (deux programmes différents) en réseau local (pour le moment !), càd entre deux postes connectés à une même box.
Je tiens à préciser tout de suite que je suis nul en réseau. ^^"
Lorsque le client et le serveur tournent sur la même machine, tout se passe bien ; en revanche, lorsqu'il s'agit de postes séparés, le serveur de ne reçoit rien.
Voici le code (très simpliste, en guise de tests) :
client :
int main()
{
unsigned short port = 53000;
Packet packet;
string message = "Message de test";
packet << message;
TcpSocket socket;
TcpSocket::Status status = socket.connect(IpAddress::getLocalAddress(), port);
if (status != TcpSocket::Done)
{
cout << "Status != Done" << endl;
}
if (socket.send(packet) != Socket::Done)
{
cout << "socket.send != Done" << endl;
}
socket.disconnect();
return 0;
}
serveur :
int main()
{
cout << "En attente du client..." << endl;
TcpListener listener;
if (listener.listen(53000) != sf::Socket::Done)
{
cout << "listener.listen != Done" << endl;
}
TcpSocket client;
if (listener.accept(client) != sf::Socket::Done)
{
cout << "listener.accept != Done" << endl;
}
Packet packet;
client.receive(packet);
string data;
packet >> data;
size_t received = sizeof(data);
std::cout << "Reçu " << received << " bytes : " << data << std::endl;
listener.close();
return 0;
}
Quel est donc le problème ?
Merci d'avance !