Hejka, własnie się uczę modułu network z sfml, oraz mam następujący program:
#include <SFML\Network.hpp>
#include <iostream>
#include <string>
unsigned short port = 50002;
sf::IpAddress IP = sf::IpAddress::getLocalAddress();
int main()
{
sf::TcpSocket socket;
sf::TcpListener listener;
sf::SocketSelector selector;
sf::Packet pakiet;
std::string str;
char c;
std::cin >> c;
if (c == 's')
{
listener.listen(port);
listener.accept(socket);
selector.add(socket);
for (;;)
{
if (selector.wait())
{
if (selector.isReady(socket))
{
if(socket.receive(pakiet) == sf::Socket::Done)
{
pakiet >> str;
std::cout << str << std::endl;
pakiet.clear();
std::getline(std::cin, str);
pakiet << str;
socket.send(pakiet);
}
}
}
}
}
else
{
socket.connect(IP, port);
for (;;)
{
std::getline(std::cin, str);
pakiet << str;
socket.send(pakiet);
socket.receive(pakiet);
pakiet >> str;
std::cout << str << std::endl;
pakiet.clear();
}
}
system("pause");
}
Program działa, aczkolwiek tak że raz wysyła wiadomość klient, raz server. Mógłby mnie ktoś nakierować co należy zrobić by przypominało to bardziej normalny chat? Chodzi mi o to, że i klient i server mogą wysyłać wiadomości kiedy chcą.