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;
}