mirror of
				https://github.com/Telecominfraproject/wlan-cloud-lib-poco.git
				synced 2025-10-30 18:17:50 +00:00 
			
		
		
		
	another WebSocket fix, updated libversion
This commit is contained in:
		| @@ -1,7 +1,7 @@ | ||||
| // | ||||
| // WebSocketImpl.h | ||||
| // | ||||
| // $Id: //poco/1.4/Net/include/Poco/Net/WebSocketImpl.h#2 $ | ||||
| // $Id: //poco/1.4/Net/include/Poco/Net/WebSocketImpl.h#3 $ | ||||
| // | ||||
| // Library: Net | ||||
| // Package: WebSocket | ||||
| @@ -90,7 +90,6 @@ protected: | ||||
| 	enum | ||||
| 	{ | ||||
| 		FRAME_FLAG_MASK   = 0x80, | ||||
| 		MIN_HEADER_LENGTH = 2, | ||||
| 		MAX_HEADER_LENGTH = 14 | ||||
| 	}; | ||||
| 	 | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| // | ||||
| // WebSocketImpl.cpp | ||||
| // | ||||
| // $Id: //poco/1.4/Net/src/WebSocketImpl.cpp#3 $ | ||||
| // $Id: //poco/1.4/Net/src/WebSocketImpl.cpp#4 $ | ||||
| // | ||||
| // Library: Net | ||||
| // Package: WebSocket | ||||
| @@ -118,23 +118,27 @@ int WebSocketImpl::sendBytes(const void* buffer, int length, int flags) | ||||
| int WebSocketImpl::receiveBytes(void* buffer, int length, int) | ||||
| { | ||||
| 	char header[MAX_HEADER_LENGTH]; | ||||
| 	int n = _pStreamSocketImpl->receiveBytes(header, MIN_HEADER_LENGTH); | ||||
| 	if (n == MIN_HEADER_LENGTH) | ||||
| 	int n = _pStreamSocketImpl->receiveBytes(header, 2); | ||||
| 	if (n == 1) | ||||
| 	{ | ||||
| 		n += _pStreamSocketImpl->receiveBytes(header + 1, 1); | ||||
| 	} | ||||
| 	if (n == 2) | ||||
| 	{ | ||||
| 		Poco::UInt8 lengthByte = static_cast<Poco::UInt8>(header[1]) & 0x7f; | ||||
| 		if (lengthByte + MIN_HEADER_LENGTH < MAX_HEADER_LENGTH) | ||||
| 		if (lengthByte + 2 < MAX_HEADER_LENGTH) | ||||
| 		{ | ||||
| 			n = _pStreamSocketImpl->receiveBytes(header + MIN_HEADER_LENGTH, lengthByte); | ||||
| 			n = _pStreamSocketImpl->receiveBytes(header + 2, lengthByte); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			n = _pStreamSocketImpl->receiveBytes(header + MIN_HEADER_LENGTH, MAX_HEADER_LENGTH - MIN_HEADER_LENGTH); | ||||
| 			n = _pStreamSocketImpl->receiveBytes(header + 2, MAX_HEADER_LENGTH - 2); | ||||
| 		} | ||||
| 	} | ||||
| 	else throw WebSocketException("Incomplete frame received", WebSocket::WS_ERR_INCOMPLETE_FRAME); | ||||
| 	if (n > 0) | ||||
| 	{ | ||||
| 		n += MIN_HEADER_LENGTH; | ||||
| 		n += 2; | ||||
| 		Poco::MemoryInputStream istr(header, n); | ||||
| 		Poco::BinaryReader reader(istr, Poco::BinaryReader::NETWORK_BYTE_ORDER); | ||||
| 		Poco::UInt8 flags; | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| 12 | ||||
| 14 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Guenter Obiltschnig
					Guenter Obiltschnig