csocketsender.cpp

来自「最近在学习directshow, Directshow实务精选的源代码」· C++ 代码 · 共 62 行

CPP
62
字号
//
// CSocketSender.cpp
//

/*-----------------------------------------------------*\
			HQ Tech, Make Technology Easy!       
 More information, please go to http://hqtech.nease.net.
/*-----------------------------------------------------*/

#include "stdafx.h"
#include "CSocketSender.h"
#include "NetDefs.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//////////////////////////////////////////////////////////////////////////////
CSocketSender::CSocketSender()
{
}

CSocketSender::~CSocketSender()
{
}

void CSocketSender::SendingLoop(void)
{
	char   buf[1024];
	int    bytes = 0;
	char   str[] = "HQ Tech, Make Technology Easy!";
	int    len   = strlen(str) + sizeof(Net_Header);    
	
	Net_Header * pHeader = (Net_Header *) buf;
	pHeader->pack_size   = strlen(str);
	pHeader->my_hton();
	strcpy(buf+sizeof(Net_Header), str);

	// Just Demo: sending twice
	int    counter = 2;

	while (mIsSending)
	{
		bytes = send(mSocket, buf, len, 0);
		if (bytes == SOCKET_ERROR)
		{
			Detach();
			mIsSending = FALSE;
			break;
		}

		// Just Demo
		if (--counter == 0)
		{
			Detach();
			mIsSending = FALSE;
			break;
		}
	}
}

⌨️ 快捷键说明

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