<windows.h> already included
WINVER = 0x0501 for Xp already defined in windows.h
Server program, using TCP
#include <stdio.h>
#include <winsock2.h>
int main()
{
WORD wVersionRequested;
WSADATA wsaData;
int wsaerr;
wVersionRequested = MAKEWORD(2, 2);
wsaerr = WSAStartup(wVersionRequested, &wsaData);
if (wsaerr != 0)
{
printf("Server: The Winsock dll not found!\n");
return 0;
}
else
{
printf("Server: The Winsock dll found!\n");
printf("Server: The status: %s.\n", wsaData.szSystemStatus);
}
if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2 )
{
printf("Server: The dll do not support the Winsock version %u.%u!\n", LOBYTE(wsaData.wVersion), HIBYTE(wsaData.wVersion));
WSACleanup();
return 0;
}
else
{
printf("Server: The dll supports the Winsock version %u.%u!\n", LOBYTE(wsaData.wVersion), HIBYTE(wsaData.wVersion));
printf("Server: The highest version this dll can support: %u.%u\n", LOBYTE(wsaData.wHighVersion), HIBYTE(wsaData.wHighVersion));
}
SOCKET m_socket;
m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (m_socket == INVALID_SOCKET)
{
printf("Server: Error at socket(): %ld\n", WSAGetLastError());
WSACleanup();
return 0;
}
else
{ printf("Server: socket() is OK!\n"); }
sockaddr_in service;
service.sin_family = AF_INET;
service.sin_addr.s_addr = inet_addr("127.0.0.1");
service.sin_port = htons(55555);
if (bind(m_socket, (SOCKADDR*)&service, sizeof(service)) == SOCKET_ERROR)
{
printf("Server: bind() failed: %ld.\n", WSAGetLastError());
closesocket(m_socket);
return 0;
}
else
{
printf("Server: bind() is OK!\n");
}
if (listen(m_socket, 10) == SOCKET_ERROR)
printf("Server: listen(): Error listening on socket %ld.\n", WSAGetLastError());
else
{
printf("Server: listen() is OK, I'm waiting for connections...\n");
}
SOCKET AcceptSocket;
printf("Server: Waiting for a client to connect...\n" );
printf("***Hint: Server is ready...run your client program...***\n");
while (1)
{
AcceptSocket = SOCKET_ERROR;
while (AcceptSocket == SOCKET_ERROR)
{
AcceptSocket = accept(m_socket, NULL, NULL);
}
printf("Server: Client Connected!\n");
m_socket = AcceptSocket;
break;
}
int bytesSent;
int bytesRecv = SOCKET_ERROR;
char sendbuf[200] = "This string is a test data from server";
char recvbuf[200] = "";
printf("Server: Sending some test data to client...\n");
bytesSent = send(m_socket, sendbuf, strlen(sendbuf), 0);
if (bytesSent == SOCKET_ERROR)
printf("Server: send() error %ld.\n", WSAGetLastError());
else
{
printf("Server: send() is OK.\n");
printf("Server: Bytes Sent: %ld.\n", bytesSent);
}
bytesRecv = recv(m_socket, recvbuf, 200, 0);
if (bytesRecv == SOCKET_ERROR)
printf("Server: recv() error %ld.\n", WSAGetLastError());
else
{
printf("Server: recv() is OK.\n");
printf("Server: Received data is: \"%s\"\n", recvbuf);
printf("Server: Bytes received: %ld.\n", bytesRecv);
}
WSACleanup();
return 0;
}
error log'
1>------ Build started: Project: server, Configuration: Debug Win32 ------
1>Compiling...
1>server.cpp
1>Linking...
1>server.obj : error LNK2028: unresolved token (0A000018) "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A00001B) "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000020) "extern "C" int __stdcall WSAGetLastError(void)" (?WSAGetLastError@@$$J10YGHXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000022) "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A00002B) "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A00002C) "extern "C" int __stdcall recv(unsigned int,char *,int,int)" (?recv@@$$J216YGHIPADHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A00002D) "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000031) "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000037) "extern "C" int __stdcall closesocket(unsigned int)" (?closesocket@@$$J14YGHI@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000041) "extern "C" int __stdcall send(unsigned int,char const *,int,int)" (?send@@$$J216YGHIPBDHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A000047) "extern "C" int __stdcall listen(unsigned int,int)" (?listen@@$$J18YGHIH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2028: unresolved token (0A00004A) "extern "C" unsigned int __stdcall accept(unsigned int,struct sockaddr *,int *)" (?accept@@$$J212YGIIPAUsockaddr@@PAH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall recv(unsigned int,char *,int,int)" (?recv@@$$J216YGHIPADHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall send(unsigned int,char const *,int,int)" (?send@@$$J216YGHIPBDHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" unsigned int __stdcall accept(unsigned int,struct sockaddr *,int *)" (?accept@@$$J212YGIIPAUsockaddr@@PAH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall listen(unsigned int,int)" (?listen@@$$J18YGHIH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall closesocket(unsigned int)" (?closesocket@@$$J14YGHI@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall bind(unsigned int,struct sockaddr const *,int)" (?bind@@$$J212YGHIPBUsockaddr@@H@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" unsigned short __stdcall htons(unsigned short)" (?htons@@$$J14YGGG@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" unsigned long __stdcall inet_addr(char const *)" (?inet_addr@@$$J14YGKPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall WSAGetLastError(void)" (?WSAGetLastError@@$$J10YGHXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" unsigned int __stdcall socket(int,int,int)" (?socket@@$$J212YGIHHH@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall WSACleanup(void)" (?WSACleanup@@$$J10YGHXZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>server.obj : error LNK2019: unresolved external symbol "extern "C" int __stdcall WSAStartup(unsigned short,struct WSAData *)" (?WSAStartup@@$$J18YGHGPAUWSAData@@@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>C:\Documents and Settings\syam\My Documents\Visual Studio 2008\Projects\server\Debug\server.exe : fatal error LNK1120: 24 unresolved externals
1>Build log was saved at "file://c:\Documents and Settings\syam\My Documents\Visual Studio 2008\Projects\server\server\Debug\BuildLog.htm"
1>server - 25 error(s), 0 warning(s)<pre lang="text">