Socket fixes 3
This commit is contained in:
parent
08f78a8bed
commit
8f3466ea78
2 changed files with 8 additions and 18 deletions
|
@ -211,12 +211,14 @@ int DDV::Socket::iread(void * buffer, int len){
|
|||
/// \return True if new data arrived, false otherwise.
|
||||
bool DDV::Socket::read(std::string & buffer){
|
||||
char cbuffer[5000];
|
||||
int num = iread(cbuffer, 5000);
|
||||
if (!read(cbuffer, 1)){return false;}
|
||||
int num = iread(cbuffer+1, 4999);
|
||||
if (num > 0){
|
||||
buffer.append(cbuffer, num);
|
||||
return true;
|
||||
buffer.append(cbuffer, num+1);
|
||||
}else{
|
||||
buffer.append(cbuffer, 1);
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}//read
|
||||
|
||||
/// Create a new base ServerSocket. The socket is never connected, and a placeholder for later connections.
|
||||
|
|
|
@ -134,20 +134,8 @@ bool HTTP::Parser::Read(DDV::Socket & sock){
|
|||
int r = 0;
|
||||
int b = 0;
|
||||
char buffer[500];
|
||||
while (true){
|
||||
r = sock.ready();
|
||||
if (r < 1){
|
||||
if (r == -1){
|
||||
#if DEBUG >= 1
|
||||
fprintf(stderr, "User socket is disconnected.\n");
|
||||
#endif
|
||||
}
|
||||
sock.read(HTTPbuffer);
|
||||
return parse();
|
||||
}
|
||||
b = sock.iread(buffer, 500);
|
||||
HTTPbuffer.append(buffer, b);
|
||||
}
|
||||
return false;
|
||||
}//HTTPReader::ReadSocket
|
||||
|
||||
/// Reads a full set of HTTP responses/requests from file F.
|
||||
|
|
Loading…
Add table
Reference in a new issue