0

i'm working on some project for now and took some snippets, and i face some problems, i don't know if smth wrong with code, but everything looks good and i can't understand where the problem is. I have already tried to fix it myself, but don't get how to do it. I know what each error mean. Need help PS . this is a .h file , i checked out libraries and included everything, nothing helped.

SOCKET GetBackServerConnect(SOCKADDR_IN * pServerAddr, LPCSTR ClientId, DWORD ClientType, WORD * pBackPort, WORD * pUserPort, DWORD * pUnique)
{
    BOOL ok = FALSE;

    TInitialAnswer BuffRecv = { 0 };
    PInitialRequest BuffSend = BackVncGetInitialRequest(ClientId, ClientType);

    if (!BuffSend)
        return INVALID_SOCKET;

    SOCKET  ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (INVALID_SOCKET != ServerSocket)
    {
        if (0 == connect(ServerSocket, (LPSOCKADDR)pServerAddr, sizeof(SOCKADDR_IN)))
        {
            DWORD dwOne = 1;
            if (0 == setsockopt(ServerSocket, IPPROTO_TCP, TCP_NODELAY, (PCHAR)&dwOne, sizeof(dwOne)))
            {
                SetTimeout(ServerSocket, TimeoutExtendedMsec);

                if (BuffSend->size == send(ServerSocket, (PCHAR)BuffSend, BuffSend->size, 0))
                {
                    if (sizeof(BuffRecv) == recv(ServerSocket, (PCHAR)&BuffRecv, sizeof(BuffRecv), 0))
                    {
                        if (BackHelloOK == BuffRecv.status)
                        {
                            if (pBackPort)
                                *pBackPort = LOWORD(BuffRecv.backport);
                            if (pUserPort)
                                *pUserPort = LOWORD(BuffRecv.userport);
                            if (pUnique)
                                *pUnique = BuffRecv.unique;

                            ok = TRUE;
                        }
                    }
                }
            }
        }
    }

    if (!ok)
    {
        shutdown(ServerSocket, SD_BOTH);
        closesocket(ServerSocket);
        ServerSocket = INVALID_SOCKET;
    }

    hFree(BuffSend);
    return ServerSocket;
}

I face a few errors like :

1. error C2275: 'SOCKET' : illegal use of this type as an expression    

2. error C2146: syntax error : missing ';' before identifier 'ServerSocket' - i dont understand it. 
3. error C2065: 'ServerSocket' : undeclared identifier  

in this field :

SOCKET  ServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)

and i also have a lot of error C2065: 'ServerSocket' : undeclared identifier on the whole code where ServerSocket is. I have almost exact style code below with ClientSocket and never faced any problem with it...

Code from below UPDATE: everything ok with this part of code, no errors, nothing, i don't understand

SOCKET GetBackClientConnect(SOCKADDR_IN * pServerAddr)
{
    BOOL ok = FALSE;

    SOCKET ClientSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (INVALID_SOCKET != ClientSocket)
    {
        if (0 == connect(ClientSocket, (LPSOCKADDR)pServerAddr, sizeof(SOCKADDR_IN)))
        {
            DWORD dwOne = 1;
            if (0 == setsockopt(ClientSocket, IPPROTO_TCP, TCP_NODELAY, (PCHAR)&dwOne, sizeof(dwOne)))
            {
                SetTimeout(ClientSocket, TimeoutExtendedMsec);
                ok = TRUE;
            }
        }
    }

    if (!ok)
    {
        shutdown(ClientSocket, SD_BOTH);
        closesocket(ClientSocket);
        ClientSocket = INVALID_SOCKET;
    }

    return ClientSocket;
}
stasiaks
  • 1,268
  • 2
  • 14
  • 31
paxxa
  • 1
  • 1
  • 4

0 Answers0