📄 ni_streamserver.h
字号:
// NI_StreamServer.h: interface for the NI_StreamServer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_NI_STREAMSERVER_H__13CD780E_F2D7_4383_9B63_6D9BBDE03BD4__INCLUDED_)
#define AFX_NI_STREAMSERVER_H__13CD780E_F2D7_4383_9B63_6D9BBDE03BD4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SendDataPool.h"
#define WM_NI_RECV_MSG (WM_USER+1)
#define NI_CONNECT 1
#define NI_CONNECT_TIMEOUT 1
#define NI_WORKSTATE 2
#define NI_WORKSTATE_TYPE_NORMAL 1
#define NI_WORKSTATE_TYPE_STOPED 2
#define NI_WORKSTATE_TYPE_SCHE_START 3
#define NI_WORKSTATE_TYPE_SCHE_STOP 4
#define NI_WORKSTATE_TYPE_SCHE_PLAY 5
#define NI_WORKSTATE_TYPE_SCHE_PLAY_OVER 6
#define NI_WORKSTATE_TYPE_SCHE_PLAY_ERR 7
#define NI_WORKSTATE_TYPE_ERROR 8
class NI_WMsg
{
public:
int m_nMsgType;
DWORD m_dwParam1;
DWORD m_dwParam2;
CString m_strParam;
};
//////////////////////////////////////////////////////////////////////////
class NI_StreamServer
{
public:
NI_StreamServer( HWND hWnd );
virtual ~NI_StreamServer();
BOOL SetAddress( LPCTSTR serve_ip, unsigned short serve_port );
BOOL InitSocket();
BOOL SendDevCtrl( int nOpt );
BOOL SendStreamCtrl( int nOpt, DWORD nScheID, DWORD nPlayID=0 );
BOOL _TrytoReceive();
BOOL _OnRecvAck( char *pBufIndex );
BOOL _OnRecvWorkState( char *pBufIndex );
BOOL _DoNewSendTask();
BOOL _SendTask( SD_DATA_CELL *pCell );
BOOL _SendAckofPacket( int nSerial );
BOOL _SendDevCtrl( SD_DATA_CELL *pCell );
BOOL _SendStreamCtrl( SD_DATA_CELL *pCell );
void ReleasePoolCell( SD_DATA_CELL *pCell );
void EmptyProfPool( CSendDataPool *pPool );
// Thread control
BOOL StartThread();
void StopThread();
BOOL _CheckThreadStop();
static DWORD WINAPI ThreadFunc( LPVOID lpParam );
int m_nRunningState;
HANDLE m_hThreadID;
ZGMP_HEAD _mpHead;
HWND m_hwndNotify;
HANDLE m_hStopEvent;
SOCKET m_Socket;
sockaddr_in m_addrLocal;
sockaddr_in m_addrRemote;
fd_set _fdRead, _fdWrite;
struct timeval _Timeout_Recv;
struct timeval _Timeout_Send;
char *_szRecvBuf;
DWORD _nPSerial;
CSendDataPool m_SendDataPool;
};
#endif // !defined(AFX_NI_STREAMSERVER_H__13CD780E_F2D7_4383_9B63_6D9BBDE03BD4__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -