Отправка 2D-массивов через TCP в SFML C ++ - PullRequest
0 голосов
/ 24 июня 2019

Я разрабатываю простую игру «Морской бой» с использованием SFML.Сетка игрока назначается 2D массиву int playerGridd [10] [10] и наоборот.Я пытался использовать SFML-сеть для отправки playerGridd через TCP, отправляющая часть не имеет проблем, а получающая - нет.

socket.receive (playerGridd, sizeof (playerGridd), врага Gridd) не работает

sf::TcpListener listener;
if (listener.listen(port) != sf::Socket::Done) return;
std::cout << "Server is listening to port: " << port << ", waiting for 
connections..." << std::endl;

sf::TcpSocket socket;
if (listener.accept(socket) != sf::Socket::Done) return;
std::cout << "Client connected: " << socket.getRemoteAddress() << 
std::endl;

int playerGridd[gridSize][gridSize] = { 0 };
int enemyGridd[gridSize][gridSize] = { 0 };

while (state = play){
    sf::Event event;

    if (socket.send(playerGridd, sizeof(playerGridd) != 
sf::Socket::Done)) {
        cout << "Fail to send player's grid" << endl;
    }
    if (socket.receive(playerGridd, sizeof(playerGridd), enemyGridd) != 
sf::Socket::Done) {
        cout << "Fail to receive enemy's grid" << endl;
    }

1>c:\sfml\battleship\server.cpp(144): error C2664: 'sf::Socket::Status sf::TcpSocket::receive(sf::Packet &)': cannot convert argument 3 from 'int [10][10]' to 'size_t &'
...