#include "stdafx.h"
#include <winSock2.h>
#include <stdio.h>
#include <tchar.h>
int _tmain(int argc, wchar_t* argv[])
{
WSADATA wsd;
SOCKET sListen;
SOCKET sClient;
sockaddr_in addrLocal;
sockaddr_in addrClient;
int iAddrSize;
int nRet;
char szBuffer[1024];
int nPort = 5501;
char szAddress[] = "127.0.0.1";
if (WSAStartup(MAKEWORD(2, 2), &wsd) != 0)
{
printf("Failed to Startup winsock2!\n");
return 1;
}
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (sListen == SOCKET_ERROR)
{
printf("socket() failed : %d\n", WSAGetLastError());
return 1;
}
addrLocal.sin_family = AF_INET;
addrLocal.sin_port = htons(nPort);
addrLocal.sin_addr.s_addr = inet_addr(szAddress);
if (addrLocal.sin_addr.s_addr == INADDR_NONE)
{
printf("the address of Local is unable...\n");
return 1;
}
if (bind(sListen, (sockaddr*)&addrLocal, sizeof(addrLocal)) == SOCKET_ERROR)
{
printf("bind() failed: %d\n", WSAGetLastError());
return 1;
}
if (listen(sListen, 1) == SOCKET_ERROR)
{
printf("listen() failed: %d\n", WSAGetLastError());
return 1;
}
printf("Listening...\nWaitting for accept...\n");
iAddrSize = sizeof(addrClient);
sClient = accept(sListen, (sockaddr*)&addrClient, &iAddrSize);
if (sClient == INVALID_SOCKET)
{
printf("accept() failed : %d\n", WSAGetLastError());