📄 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 + -