#include <iostream>
#include <winsock2.h>
using namespace std;
int main()
{
WSADATA wsaData;
int res = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (res != NO_ERROR) {
cout << "WSASTartup error: " << WSAGetLastError() << "\n";
return 1;
}
SOCKET s;
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s == INVALID_SOCKET) {
cout << "socket() error: " << WSAGetLastError() << "\n";
WSACleanup();
return 1;
}
SOCKADDR_IN sa = {0};
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr("127.0.0.1");
sa.sin_port = htons(27015);
if (connect(s, (SOCKADDR*)&sa, sizeof(sa)) == SOCKET_ERROR) {
cout << "connect() error: " << WSAGetLastError() << "\n";
WSACleanup();
return 1;
}
cout << "Connected to server.\n";
closesocket(s);
WSACleanup();
return 0;
}
#include <iostream>
#include <winsock2.h>
using namespace std;
int main()
{
WSADATA wsaData;
int res = WSAStartup(MAKEWORD(2, 2), &wsaData);
if (res != NO_ERROR) {
cout << "WSASTartup error: " << WSAGetLastError() << "\n";
return 1;
}
SOCKET s;
s = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (s == INVALID_SOCKET) {
cout << "socket() error: " << WSAGetLastError() << "\n";
WSACleanup();
return 1;
}
SOCKADDR_IN sa = {0};
sa.sin_family = AF_INET;
sa.sin_addr.s_addr = inet_addr("127.0.0.1");
sa.sin_port = htons(27015);
if (bind(s, (SOCKADDR*) &sa, sizeof(sa)) == SOCKET_ERROR) {
cout << "bind() error: " << WSAGetLastError() << "\n";
WSACleanup();
return 1;
}
if (listen(s, 1) == SOCKET_ERROR) {
cout << "listen() error: " << WSAGetLastError() << "\n";
WSACleanup();
return 1;
}
SOCKET acc;
cout << "Waiting for client to connect...\n";
while (1) {
acc = SOCKET_ERROR;
while (acc == SOCKET_ERROR)
acc = accept(s, NULL, NULL );
cout << "Client connected.\n";
break;
}
WSACleanup();
return 0;
}