Server

// Server.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "winsock2.h"
#include "ws2tcpip.h"
#include "iphlpapi.h"

#pragma comment(lib, "ws2_32.lib")

#define DEFAULT_PORT "27015"

int _tmain(int argc, _TCHAR* argv[])
{
	WSADATA wsaData ;
	int iResult ;
	SOCKET ListenSocket = INVALID_SOCKET ;

	iResult = WSAStartup(MAKEWORD(2, 2), &wsaData) ;
	if (iResult != 0)
	{
		printf(_T("WSAStartup failed: %d\n"), iResult) ;
		return 1 ;
	}

	struct addrinfo * result = NULL, * ptr = NULL, hints ;
	char * ip = "127.0.0.1" ;
	ZeroMemory(&hints, sizeof(hints)) ;
	hints.ai_flags = AI_PASSIVE | AI_CANONNAME ;	
	hints.ai_family = AF_INET ;
	hints.ai_socktype = SOCK_STREAM ;
	hints.ai_protocol = IPPROTO_TCP ;

	iResult = getaddrinfo(ip, DEFAULT_PORT, &hints, &result) ;
	if (iResult != 0)
	{
		printf(_T("getaddrinfo failed: %d\n"), iResult) ;
		WSACleanup() ;
		return 1 ;
	}

	ListenSocket = socket(result->ai_family, result->ai_socktype, result->ai_protocol) ;
	if (ListenSocket == INVALID_SOCKET)
	{
		printf(_T("Error at socket(): %d\n"), WSAGetLastError()) ;
		freeaddrinfo(result) ;
		WSACleanup() ;
		return 1 ;
	}

	iResult = bind(ListenSocket, result->ai_addr, (int) result->ai_addrlen) ;
	if (iResult == SOCKET_ERROR)
	{
		printf(_T("bind failed: %d\n"), WSAGetLastError()) ;
		freeaddrinfo(result) ;
		closesocket(ListenSocket) ;
		WSACleanup() ;
		return 1 ;
	}

	if (listen(ListenSocket, SOMAXCONN) == SOCKET_ERROR)
	{
		printf(_T("Error at bind(): %d\n"), WSAGetLastError()) ;
		closesocket(ListenSocket) ;
		WSACleanup() ;
		return 1 ;
	}

	SOCKET ClientSocket = INVALID_SOCKET ;

	ClientSocket = accept(ListenSocket, NULL, NULL) ;
	if (ClientSocket == INVALID_SOCKET)
	{
		printf(_T("accept failed: %d\n"), WSAGetLastError()) ;
		closesocket(ListenSocket) ;
		WSACleanup() ;
		return 1 ;
	}

#define DEFAULT_BUFLEN 512

	char recvbuf[DEFAULT_BUFLEN] ;
	int iResult, iSendResult ;
	int recvbuflen = DEFAULT_BUFLEN ;

	do 
	{
		iResult = recv(ClientSocket, recvbuf, recvbuflen, 0) ;


	} while (iResult > 0);



	return 0;
}

 

  

posted on 2012-05-13 18:34  doMakeIT  阅读(167)  评论(0编辑  收藏  举报

导航