![]() |
ReceiveFrom() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Protected Function |
Declared in: SpoofSocket.h |
virtual int ReceiveFrom( char* pBuffer, unsigned long ulBufferLength, IP& rIP, unsigned short& rSourcePort);
Recieve data from remote socket, saving the address
try { if (!ValidSocket() || !pBuffer || !ulBufferLength) return GetErrorCode(); //Receive data int iResult; //Receive if (m_ucProtocol!=IPPROTO_TCP && !m_bSniffing) { //Get the remote address sockaddr saConnected; int iTmp; iTmp=sizeof(saConnected); //Accept it iResult=recvfrom(GetHandle(), pBuffer, ulBufferLength, NULL, &saConnected, &iTmp); //If OK set it if (iResult!=GetErrorCode()) { //Address rIP=((sockaddr_in*)&saConnected)->sin_addr.S_un.S_addr; //Port rSourcePort=htons(((sockaddr_in*)&saConnected)->sin_port); //Done return iResult; } else { //Error SetLastError("Receive"); //Reset the data rIP=0; rSourcePort=0; //Done return iResult; } } else { //Report it ReportError("Receive","Can't run on TCP socket!"); //Exit return GetErrorCode(); } } ERROR_HANDLER_RETURN("Receive",GetErrorCode())
![]() |
Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003. |