mysocket.cpp

来自「PDA版的小型WEB服务器」· C++ 代码 · 共 45 行

CPP
45
字号
#include "StdAfx.h"
#include "MySocket.h"
#include <WinSock2.h>
#include "trace.h"
#include <iostream>
using namespace std;

CMySocket::CMySocket(void)
{
}

CMySocket::~CMySocket(void)
{
}

SOCKET CMySocket::initSock(int port)
{
	if(port < 0) 
		port = 5544; // by default
	SOCKET listenSock;
	struct sockaddr_in server;
	WSADATA wsadata;
	if(WSAStartup(MAKEWORD(2,2),&wsadata)){
		//AfxMessageBox(_T("setup socket version failed!"));
		WSACleanup();
	}

	listenSock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

	server.sin_family = PF_INET;
	server.sin_addr.S_un.S_addr=INADDR_ANY;
	server.sin_port = htons(port);

	if( bind(listenSock,(struct sockaddr*)&server,sizeof server) == SOCKET_ERROR ){
		log("bind socket failed!");
		closesocket(listenSock);
		return NULL;
	};

	cout<<"server   running!   listen   on "<<port<<endl;
	listen(listenSock,5);
	//AfxMessageBox(_T("server socket is running"));

	return listenSock;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?