|
@@ -89,9 +89,11 @@ std::vector<char> cppsocket::receive(){
|
|
std::vector<char> stor;
|
|
std::vector<char> stor;
|
|
while(true){
|
|
while(true){
|
|
std::fill(buffer.begin(), buffer.end(), (char)0);
|
|
std::fill(buffer.begin(), buffer.end(), (char)0);
|
|
- size_t val = read(sock, buffer.data(), buffersize + 1);
|
|
|
|
|
|
+ ssize_t val = read(sock, buffer.data(), buffersize + 1);
|
|
if(val == 0)throw socket_exception("Connection reset by peer");
|
|
if(val == 0)throw socket_exception("Connection reset by peer");
|
|
- if(val > (buffersize + 1))throw socket_exception("Reading error");
|
|
|
|
|
|
+ if(val == -1){
|
|
|
|
+ if(throw socket_exception("Reading error: " + strerror(errno));
|
|
|
|
+ }
|
|
std::cout << val << ", ";
|
|
std::cout << val << ", ";
|
|
stor.insert(stor.end(), buffer.begin(), buffer.begin() + std::min(val, (size_t)buffersize));
|
|
stor.insert(stor.end(), buffer.begin(), buffer.begin() + std::min(val, (size_t)buffersize));
|
|
if(buffer.data()[buffersize] == (char)0)break;
|
|
if(buffer.data()[buffersize] == (char)0)break;
|