⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accept.cpp

📁 墨香最新私服
💻 CPP
字号:
#include "accept.h"
#include "main_msg_que.h"
#include "network.h"
#include "worker.h"
#include <process.h>

unsigned int WINAPI AcceptThread(LPVOID lpVoid);

HANDLE		g_hAcceptThread = NULL;
BOOL		g_bEnableAccept = FALSE;

BOOL StartAcceptThread(SOCKET sckListen,HWND hWnd,UINT uiMsg)
{
	DWORD			dwThreadID;

	g_hAcceptThread = (HANDLE)_beginthreadex( NULL, NULL, AcceptThread, NULL, NULL, (unsigned int *)&dwThreadID );

	g_bEnableAccept = TRUE;
	return TRUE;
}

void EndAcceptThread()
{
	if (!g_bEnableAccept)
		return;

	OutputDebugString( "Waiting AcceptThread...\n" );
	WaitForSingleObject( g_hAcceptThread, INFINITE );
	OutputDebugString( "AcceptThread Ok\n" );

	CloseHandle( g_hAcceptThread );
	g_hAcceptThread = NULL;
}

unsigned int WINAPI AcceptThread(LPVOID lpVoid)
{
	SOCKET				accept;
	SOCKADDR_IN			addr;
	int					len = sizeof(addr);

	while (TRUE)
	{
		// accept¸¦ °É¾î³õ´Â´Ù.¿©±â¼­ accept¿äûÀÌ µé¾î¿Ã¶§±îÁö ÀÌ ½º·¹µå´Â ºí·°µÈ´Ù.
		accept = WSAAccept(g_pNetwork->GetListenSocket(),
			(sockaddr*)&addr,
			&len,
			NULL,
			0);

		
		if (accept == INVALID_SOCKET)
		{
			goto lb_return;
			
		}
		IEPostConnectEvent(accept);
	}
lb_return:
	_endthreadex( NULL );
	return 0;
}

⌨️ 快捷键说明

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