Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <winsock2.h>
- #include <iostream>
- int main()
- {
- // initialize winsock
- WSADATA wsa_data;
- if (WSAStartup(MAKEWORD(2,2), &wsa_data) != 0)
- {
- std::cout << "Error: Winsock initialization failed." << std::endl;
- WSACleanup();
- return 1;
- }
- // create socket
- SOCKET server_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
- if (server_socket == INVALID_SOCKET)
- {
- std::cout << "Error: Socket creation failed." << std::endl;
- WSACleanup();
- return 2;
- }
- // resolve ip for hostname
- struct hostent *host;
- if ((host = gethostbyname("localhost")) == NULL)
- {
- std::cout << "Error: Failed to resolve hostname." << std::endl;
- WSACleanup();
- return 3;
- }
- // set up socket address structure
- SOCKADDR_IN socket_address;
- socket_address.sin_family = AF_INET;
- socket_address.sin_port = htons(60840);
- socket_address.sin_addr.s_addr = *((unsigned long*)host->h_addr);
- //attempt connection to server
- if(connect(server_socket,(SOCKADDR*)(&socket_address), sizeof(socket_address)) != 0)
- {
- std::cout << "Error: Failed to establish connection to server." << std::endl;
- WSACleanup();
- return 4;
- }
- // display message from server
- char buffer[1024];
- int data_length = recv(server_socket, buffer, sizeof(buffer), 0);
- std::cout << buffer;
- // shut down socket
- shutdown(server_socket, SD_SEND);
- // close socket
- closesocket(server_socket);
- // clean and exit
- WSACleanup();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement