#c #network-programming #sfml
#c #сетевое программирование #sfml
Вопрос:
Я пытаюсь отправить данные из одной программы в другую на том же компьютере, используя сокеты и пакеты SFML. Я правильно следил за онлайн-уроками, я думаю, что это может быть что-то, не связанное с моим кодом, но подумал, что я проверю, чтобы убедиться, что я не делаю что-то неправильно.
Мой серверный код таков
sf::TcpListener listenerSocket;
if (listenerSocket.listen(1000) != sf::Socket::Done)
{
//error
}
sf::TcpSocket clients[2];
while (true)
{
if (listenerSocket.accept(clients[0]) == sf::Socket::Done)
{
std::cout << "A client has joined the queuen";
std::cout << "There are now 1 clientsn";
}
//ServerDataType playerData[2];
sf::Packet serverData;
sf::Uint8 mapSeed = rand() % 1000 1;
sf::Uint8 player1ID = 1;
serverData << player1ID << mapSeed;
if (clients[0].send(serverData))
{
//error
}
}
Очевидно, что это не идеально, но я просто пытаюсь упростить проверку отправлений.
Мой клиентский код таков
sf::Packet serverData;
std::size_t received;
sf::Uint8 mapSeed;
sf::Uint8 playerID;
sf::TcpSocket serverSocket;
sf::Socket::Status status= serverSocket.connect("127.0.0.1", 1000);;
while (status != sf::Socket::Done)
{
if (status != sf::Socket::Done)
{
//error...
}
}
if(serverSocket.receive(serverData))
{
//error
}
serverData >> playerID >> mapSeed;
Мой вывод из cout
Заранее спасибо.
Комментарии:
1. Вы не показываете, как вы выводите полученные данные
2. Извините, что он просто использует std::cout
3. Вы не должны
cout
использовать uint8