?? shppsocket.h
字號:
/***********************************************
* file name: SHPPSocket.h
* date : 2001.07.17
* 用途: 接收和發送SHPP的請求和應答
************************************************/
#if !defined(_SHPPSOCKET_H_LINYOUHAI)
#define _SHPPSOCKET_H_LINYOUHAI
//#define SHPP_SOCKET_ACCEPT //是否要Run()
//#include "SHPP.h"
#include "blocksock.h"
#include "OSThread.h"
#include "OSHashTable.h"
class CSHPPSocket :public CKNSocket
{
public:
//構造器。開辟一塊足夠大的緩存來接收數據;
//初始化m_nReadBuf和m_nReadCount為0;初始化SOCDET為SOCK_STREAM。
CSHPPSocket();
CSHPPSocket(CKNSocket* inSocket);
~CSHPPSocket();
//此函數每次接收一行請求("\r\n"結束),并copy一行請求
//如果沒遇到"\r\n",那么將繼續接收請求,直到行結束
int ReadRtspHeaderLine(char* pchOut, const int nSize, const int nSecs = 0);
//此函數獲取每行的指針頭和長度
//如果沒遇到"\r\n",那么將繼續接收請求,直到行結束("\r\n"結束)
int ReadRtspHeaderLine(char** pchOutRow, const int nSecs = 0);
//接收固定大小nSize字節的請求,往m_pReadBuf后存儲
int ReadRtspResponse(char* pchOut, const int nSize, const int nSecs);
//設置m_unReadBuf和m_unReadCount為0,但不釋放內存。
void SetReadBuf() { m_unReadBuf = 0; m_unReadTotal = 0; }
//獲取接收到的客戶請求的總字節數
UInt32 GetReadTotal() { return m_unReadTotal; }
//獲取已讀取的長度
UInt32 GetReadBufSize() { return m_unReadBuf; }
//獲取請求的頭指針。
char* GetReadBuf() { return m_pReadBuf; }
private:
char* m_pReadBuf; // read buffer
UInt32 m_unReadBuf; // 已讀取的長度
UInt32 m_unReadTotal;// 接收到的總長度
UInt32 m_unBuffer; //buffer size;
};
#endif //defined(_SHPPSOCKET_H_LINYOUHAI)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -