VOID SendData()
{
WSADATA wsaData;
SOCKET MySocket = INVALID_SOCKET;
struct addrinfo *result = NULL, *ptr = NULL, hints;
CHAR szData[512];
FILE *DataFile;
INT DataSize;
ZeroMemory(&hints, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;
// Initiate connection to server
if (WSAStartup(MAKEWORD(2,2), &wsaData) != 0)
return; // Error handle instead if you need it, same for code below.
if (getaddrinfo(KGSERVER_HOST, KGSERVER_PORT, &hints, &result) != 0) {
WSACleanup();
return;
}
ptr=result;
MySocket = socket(ptr->ai_family,
ptr->ai_socktype,
ptr->ai_protocol);
if (MySocket == INVALID_SOCKET) {
freeaddrinfo(result);
WSACleanup();
return;
}
if (connect(MySocket,
ptr->ai_addr,
(int)ptr->ai_addrlen) == SOCKET_ERROR)
{
closesocket(MySocket);
MySocket = INVALID_SOCKET;
freeaddrinfo(result);
WSACleanup();
return;
}
// Prepare data
if (fopen_s(&DataFile, "data.txt", "r") == 0) {
DataSize = fread(szData, sizeof(char), sizeof(szData), DataFile);
szData[DataSize] = '\0';
fclose(DataFile);
}
// Attempt to send data
if (send(MySocket, szData, sizeof(szData), 0) == SOCKET_ERROR)
; // Send failed.
closesocket(MySocket);
MySocket = INVALID_SOCKET;
freeaddrinfo(result);
WSACleanup();
return;
}