Передача структуры с помощью соккетов

Тема в разделе "Общие вопросы по С и С++", создана пользователем Chetverg, 25 дек 2005.

Статус темы:
Закрыта.
  1. Chetverg

    Chetverg Гость

    У меня есть такая структура:

    struct game{ bool free;
    player player_a;
    player player_b;
    pole pmass[10][10];
    int hod;
    };

    Как мне её передать с помощью функции SendStream() соккета... или ещё как нибудь.
    И как потом на сервере её прочитать.

    Спасибо
     
  2. Barmutik

    Barmutik Гость

    Записывайте в стрим и передавайте а на сервере соответственно читайте из стрима ... что вызывает проблемы ?
     
  3. test

    test Гость

    общая структура
    typedef struct File_Info{ // file information structure
    DWORD dwFileAttributes; // DWORD dwFileAttributes file
    FILETIME ftCreationTime; //
    FILETIME ftLastAccessTime;
    FILETIME ftLastWriteTime;
    DWORD nFileSizeHigh;
    DWORD nFileSizeLow;
    char strDirPath[MAX_PATH];
    char strFNameORDir[MAX_PATH];
    DWORD dwDir; // 0 - directory 1 - file 2 - close connection
    int iCountFile;
    __int64 i64TimeFile;
    File_Info(): dwFileAttributes(0), nFileSizeHigh(0), nFileSizeLow(0),
    dwDir(0), iCountFile(0), i64TimeFile(0)
    {
    ::ZeroMemory(strDirPath, CELEMS(strDirPath));
    ::ZeroMemory(strFNameORDir, CELEMS(strFNameORDir));
    };


    сервер получает структуру
    rv = recv (ClientSock, (char*)&lpFileInfo, sizeof (file_info), 0);
    if (rv == SOCKET_ERROR)
    {
    switch(WSAGetLastError())
    {
    case(WSAECONNRESET):
    LogFunc(lpdialog_info, _T("UserProcess"), _T("ECONNRESET"), _T("Connection Reset, Listening for a New Client..."));
    closesocket (ClientSock);
    return(0);
    default: ErrorStop();
    }
    }
    else if ( rv == 0 )
    {
    LogFunc(lpdialog_info, _T("UserProcess"), _T("rv = 0"), _T("Zero data \n Connection Reset, Listening for a New Client..."));
    closesocket (ClientSock);
    return(0);
    }

    } *CFILE_INFO, file_info;

    клиент отправляет
    if (send (ServerSock, (char*)lpFileInfo, sizeof(file_info), 0)
    == SOCKET_ERROR)
    {
    closesocket (ServerSock);
    ErrorStop();
    return _T("");
    }
     
Загрузка...
Похожие Темы - Передача структуры помощью
  1. mibin
    Ответов:
    2
    Просмотров:
    4.002
  2. Corexis
    Ответов:
    0
    Просмотров:
    73
  3. Shouldercannon
    Ответов:
    0
    Просмотров:
    493
  4. Shouldercannon
    Ответов:
    0
    Просмотров:
    393
  5. 123456789igor
    Ответов:
    0
    Просмотров:
    812
Статус темы:
Закрыта.

Поделиться этой страницей