mirror of
https://github.com/ZLMediaKit/ZLMediaKit.git
synced 2026-06-21 08:22:21 +08:00
修复拼写错误
This commit is contained in:
@@ -193,7 +193,7 @@ protected:
|
||||
//WebSocketSplitter override
|
||||
|
||||
/**
|
||||
* 收到一个webSocket数据包包头,后续将继续触发onWebSocketDecodePlayload回调
|
||||
* 收到一个webSocket数据包包头,后续将继续触发onWebSocketDecodePayload回调
|
||||
* @param header 数据包头
|
||||
*/
|
||||
void onWebSocketDecodeHeader(const WebSocketHeader &header) override{
|
||||
@@ -205,9 +205,9 @@ protected:
|
||||
* @param header 数据包包头
|
||||
* @param ptr 负载数据指针
|
||||
* @param len 负载数据长度
|
||||
* @param recved 已接收数据长度(包含本次数据长度),等于header._playload_len时则接受完毕
|
||||
* @param recved 已接收数据长度(包含本次数据长度),等于header._payload_len时则接受完毕
|
||||
*/
|
||||
void onWebSocketDecodePlayload(const WebSocketHeader &header, const uint8_t *ptr, uint64_t len, uint64_t recved) override{
|
||||
void onWebSocketDecodePayload(const WebSocketHeader &header, const uint8_t *ptr, uint64_t len, uint64_t recved) override{
|
||||
_payload.append((char *)ptr,len);
|
||||
}
|
||||
|
||||
|
||||
@@ -161,7 +161,7 @@ protected:
|
||||
* @param len
|
||||
* @param recved
|
||||
*/
|
||||
void onWebSocketDecodePlayload(const WebSocketHeader &packet,const uint8_t *ptr,uint64_t len,uint64_t recved) override {
|
||||
void onWebSocketDecodePayload(const WebSocketHeader &packet,const uint8_t *ptr,uint64_t len,uint64_t recved) override {
|
||||
_remian_data.append((char *)ptr,len);
|
||||
}
|
||||
|
||||
|
||||
@@ -72,16 +72,16 @@ begin_decode:
|
||||
|
||||
CHECK_LEN(1);
|
||||
_mask_flag = (*ptr & 0x80) >> 7;
|
||||
_playload_len = (*ptr & 0x7F);
|
||||
_payload_len = (*ptr & 0x7F);
|
||||
ptr += 1;
|
||||
|
||||
if (_playload_len == 126) {
|
||||
if (_payload_len == 126) {
|
||||
CHECK_LEN(2);
|
||||
_playload_len = (*ptr << 8) | *(ptr + 1);
|
||||
_payload_len = (*ptr << 8) | *(ptr + 1);
|
||||
ptr += 2;
|
||||
} else if (_playload_len == 127) {
|
||||
} else if (_payload_len == 127) {
|
||||
CHECK_LEN(8);
|
||||
_playload_len = ((uint64_t) ptr[0] << (8 * 7)) |
|
||||
_payload_len = ((uint64_t) ptr[0] << (8 * 7)) |
|
||||
((uint64_t) ptr[1] << (8 * 6)) |
|
||||
((uint64_t) ptr[2] << (8 * 5)) |
|
||||
((uint64_t) ptr[3] << (8 * 4)) |
|
||||
@@ -98,9 +98,9 @@ begin_decode:
|
||||
}
|
||||
_got_header = true;
|
||||
_mask_offset = 0;
|
||||
_playload_offset = 0;
|
||||
_payload_offset = 0;
|
||||
onWebSocketDecodeHeader(*this);
|
||||
if(_playload_len == 0){
|
||||
if(_payload_len == 0){
|
||||
onWebSocketDecodeComplete(*this);
|
||||
}
|
||||
}
|
||||
@@ -109,19 +109,19 @@ begin_decode:
|
||||
|
||||
uint64_t remain = len - (ptr - data);
|
||||
if(remain > 0){
|
||||
uint64_t playload_slice_len = remain;
|
||||
if(playload_slice_len + _playload_offset > _playload_len){
|
||||
playload_slice_len = _playload_len - _playload_offset;
|
||||
uint64_t payload_slice_len = remain;
|
||||
if(payload_slice_len + _payload_offset > _payload_len){
|
||||
payload_slice_len = _payload_len - _payload_offset;
|
||||
}
|
||||
_playload_offset += playload_slice_len;
|
||||
onPlayloadData(ptr,playload_slice_len);
|
||||
_payload_offset += payload_slice_len;
|
||||
onPayloadData(ptr, payload_slice_len);
|
||||
|
||||
if(_playload_offset == _playload_len){
|
||||
if(_payload_offset == _payload_len){
|
||||
onWebSocketDecodeComplete(*this);
|
||||
|
||||
//这是下一个包
|
||||
remain -= playload_slice_len;
|
||||
ptr += playload_slice_len;
|
||||
remain -= payload_slice_len;
|
||||
ptr += payload_slice_len;
|
||||
_got_header = false;
|
||||
|
||||
if(remain > 0){
|
||||
@@ -138,14 +138,14 @@ begin_decode:
|
||||
_remain_data.clear();
|
||||
}
|
||||
|
||||
void WebSocketSplitter::onPlayloadData(uint8_t *ptr, uint64_t len) {
|
||||
void WebSocketSplitter::onPayloadData(uint8_t *data, uint64_t len) {
|
||||
if(_mask_flag){
|
||||
for(int i = 0; i < len ; ++i,++ptr){
|
||||
*(ptr) ^= _mask[(i + _mask_offset) % 4];
|
||||
for(int i = 0; i < len ; ++i,++data){
|
||||
*(data) ^= _mask[(i + _mask_offset) % 4];
|
||||
}
|
||||
_mask_offset = (_mask_offset + len) % 4;
|
||||
}
|
||||
onWebSocketDecodePlayload(*this, _mask_flag ? ptr - len : ptr, len, _playload_offset);
|
||||
onWebSocketDecodePayload(*this, _mask_flag ? data - len : data, len, _payload_offset);
|
||||
}
|
||||
|
||||
void WebSocketSplitter::encode(const WebSocketHeader &header,const Buffer::Ptr &buffer) {
|
||||
|
||||
@@ -51,7 +51,7 @@ public:
|
||||
uint8_t _reserved;
|
||||
Type _opcode;
|
||||
bool _mask_flag;
|
||||
uint64_t _playload_len;
|
||||
uint64_t _payload_len;
|
||||
vector<uint8_t > _mask;
|
||||
};
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
|
||||
/**
|
||||
* 输入数据以便解包webSocket数据以及处理粘包问题
|
||||
* 可能触发onWebSocketDecodeHeader和onWebSocketDecodePlayload回调
|
||||
* 可能触发onWebSocketDecodeHeader和onWebSocketDecodePayload回调
|
||||
* @param data 需要解包的数据,可能是不完整的包或多个包
|
||||
* @param len 数据长度
|
||||
*/
|
||||
@@ -77,7 +77,7 @@ public:
|
||||
void encode(const WebSocketHeader &header,const Buffer::Ptr &buffer);
|
||||
protected:
|
||||
/**
|
||||
* 收到一个webSocket数据包包头,后续将继续触发onWebSocketDecodePlayload回调
|
||||
* 收到一个webSocket数据包包头,后续将继续触发onWebSocketDecodePayload回调
|
||||
* @param header 数据包头
|
||||
*/
|
||||
virtual void onWebSocketDecodeHeader(const WebSocketHeader &header) {};
|
||||
@@ -87,9 +87,9 @@ protected:
|
||||
* @param header 数据包包头
|
||||
* @param ptr 负载数据指针
|
||||
* @param len 负载数据长度
|
||||
* @param recved 已接收数据长度(包含本次数据长度),等于header._playload_len时则接受完毕
|
||||
* @param recved 已接收数据长度(包含本次数据长度),等于header._payload_len时则接受完毕
|
||||
*/
|
||||
virtual void onWebSocketDecodePlayload(const WebSocketHeader &header, const uint8_t *ptr, uint64_t len, uint64_t recved) {};
|
||||
virtual void onWebSocketDecodePayload(const WebSocketHeader &header, const uint8_t *ptr, uint64_t len, uint64_t recved) {};
|
||||
|
||||
|
||||
/**
|
||||
@@ -105,12 +105,12 @@ protected:
|
||||
*/
|
||||
virtual void onWebSocketEncodeData(const Buffer::Ptr &buffer){};
|
||||
private:
|
||||
void onPlayloadData(uint8_t *data,uint64_t len);
|
||||
void onPayloadData(uint8_t *data, uint64_t len);
|
||||
private:
|
||||
string _remain_data;
|
||||
int _mask_offset = 0;
|
||||
bool _got_header = false;
|
||||
uint64_t _playload_offset = 0;
|
||||
uint64_t _payload_offset = 0;
|
||||
};
|
||||
|
||||
} /* namespace mediakit */
|
||||
|
||||
Reference in New Issue
Block a user