Beispiel #1
0
UdpPacketReader::UdpPacketReader(INfpvrInterfaceNetwork& nfpvrInterface,
								 int udpPort):

	_nfpvrInterface(nfpvrInterface),
	_udpPort(udpPort),
	_socket(0),
	_rawFile(0),
	_isBound(false),
	_handlerCount(0)
{
	memset(_handlers, 0, sizeof(_handlers));
	networkInitialize();

	if (_nfpvrInterface.getOptions()._writeRaw)
	{
		const char* filename = _nfpvrInterface.getOptions()._writeRawFilename;
		if (filename)
		{
			_rawFile = fopen(filename, "wb");

			if (_rawFile)
			{
				_nfpvrInterface.notify(INfpvrInterface::NotifyMessage, "Opened raw file %s", filename);
			}
			else
			{
				_nfpvrInterface.notify(INfpvrInterface::NotifyError, "Can't open raw file %s", filename);
			}
		}
	}

}
Beispiel #2
0
//-----------------------------------------------------------------------------
// 描述: 应用程序初始化 (若初始化失败则抛出异常)
//-----------------------------------------------------------------------------
void IseApplication::initialize()
{
    try
    {
#ifdef ISE_LINUX
        // 在初始化阶段要屏蔽退出信号
        SignalMasker sigMasker(true);
        sigMasker.setSignals(1, SIGTERM);
        sigMasker.block();
#endif

        networkInitialize();
        initExeName();
        iseBusiness_->beforeInit();
        iseBusiness_->initIseOptions(iseOptions_);
        processStandardArgs(true);
        checkMultiInstance();
     //   if (iseOptions_.getIsDaemon()) initDaemon();
        initSignals();
        initNewOperHandler();
        applyIseOptions();
        createMainServer();
        iseBusiness_->initialize();
        mainServer_->initialize();
        iseBusiness_->afterInit();
        if (iseOptions_.getIsDaemon()) closeTerminal();
        initialized_ = true;
    }
    catch (Exception& e)
    {
        openTerminal();
        iseBusiness_->onInitFailed(e);
        doFinalize();
        throw;
    }
}