void* ServerThread(void*) { Host server; std::string file = "out.log"; if (server.Listen(0xff)) { puts("Server | listening..."); Host *connectedHost = server.Accept(); printf("Server | connected to %s on %i\n", connectedHost->GetIPAddress().c_str(), connectedHost->GetPort()); printf("Server | read: %s\n", connectedHost->Receive().c_str()); printf("Server | sent: %i bytes\n", connectedHost->Send("Data from server")); printf("Server | read: %s\n", connectedHost->Receive().c_str()); printf("Server | sent: %i bytes\n", connectedHost->Send("Last message from server")); printf("Server | file: %s | name: ", connectedHost->ReceiveFile(file) ? "good" : "bad"); puts(file.c_str()); if (connectedHost->Disconnect()) puts("Server | connection closed"); else puts("Server | cannot close connection"); delete connectedHost; if (server.Disconnect()) puts("Server | socket closed"); else puts("Server | cannot close socket"); } else puts("Server | cannot listen"); return NULL; }
void* ClientThread(void*) { Host client; if (client.Connect("localhost", 0xff)) { printf("Client | connected to %s on %i\n", client.GetIPAddress().c_str(), client.GetPort()); printf("Client | sent: %i bytes\n", client.Send("Data from client")); printf("Client | read: %s\n", client.Receive().c_str()); printf("Client | sent: %i bytes\n", client.Send("Last message from client")); printf("Client | read: %s\n", client.Receive().c_str()); printf("Client | file: %s\n", client.SendFile("in.log") ? "good" : "bad"); if (client.Disconnect()) puts("Client | connection closed"); else puts("Client | cannot close connection"); } else puts("Client | cannot connect"); return NULL; }