Code:
case FD_READ:
{
DWORD dwBytesWritten = 0;
int iBytesRecv = 0;
ZeroMemory(xbuff, 256);
ZeroMemory(tmpbuff, 350);
if (CaptureAsFile)
{
while (true)
{
ZeroMemory(xbuff, 256);
iBytesRecv = Client.Recv(xbuff, 256);
if ((iBytesRecv == 0) ||
(iBytesRecv == -1) ||
(iBytesRecv == SOCKET_ERROR))
break;
WriteFile(hCapFile, xbuff, iBytesRecv, &dwBytesWritten, NULL);
}
CaptureAsFile = false;
CloseHandle(hCapFile);
}
Code:
INT PEER::Recv(CHAR *databuff, INT len)
{
if (wProtocol == TCP)
{
if ((iRecvBytes = recv(sckPeer, databuff, len, 0)) == SOCKET_ERROR)
if ((iError = WSAGetLastError()) != WSAEWOULDBLOCK)
return -1;
iTRecvBytes += iRecvBytes;
return iRecvBytes;
}
return -1;
}