0

サーバーとクライアントがあります。winsock2を使用しています。クライアントは 4 バイトを送信します。

char *ack = new char[4];
sprintf( ack, "%d", counter );
sendto( clientSocket, ack, 4, 0, ( struct sockaddr* )&remote, sizeof( remote ) );

サーバーは次の 4 バイトを受け取ります。

char* acks = new char[4];
if( ( bytes = recvfrom( serverSocket, acks, 4, 0, ( struct sockaddr* )&remote, &remote_size ) ) == SOCKET_ERROR ) {
    cout << "socket error = " << WSAGetLastError() << endl;
    break;
}
if( bytes > 0 ) {
    sscanf( acks, "%d", &i );
}

このエラーが発生しましたが、修正方法がわかりません。

>Critical error detected c0000374
>
>server.exe has triggered a breakpoint.

ポインタとメモリ割り当てに問題があることはわかっています。しかし、私の C++ スキルは基本的なものです。

4

1 に答える 1