git-svn-id: https://svn.microneil.com/svn/CodeDweller/trunk@15 d34b734f-a00e-4b39-a726-e4eeb87269abwx
if(0 > size) // Watch out for bad sizes. | if(0 > size) // Watch out for bad sizes. | ||||
throw Networking::SocketWriteError("TCPClient::transmit() 0 > size!"); | throw Networking::SocketWriteError("TCPClient::transmit() 0 > size!"); | ||||
int ByteCount = send(Handle, bfr, size, NOFLAGS); // Try to send and capture the count. | |||||
int ByteCount = send(Handle, bfr, size, NO_SIGNALS); // Try to send and capture the count. | |||||
if(0 > ByteCount) ByteCount = 0; // Mask error results as 0 bytes sent. | if(0 > ByteCount) ByteCount = 0; // Mask error results as 0 bytes sent. | ||||
if(size > ByteCount) { // If we didn't send it all check it out. | if(size > ByteCount) { // If we didn't send it all check it out. | ||||
if(0 > size) // Watch out for bad sizes. | if(0 > size) // Watch out for bad sizes. | ||||
throw Networking::SocketWriteError("TCPHost::transmit() 0 > size!"); | throw Networking::SocketWriteError("TCPHost::transmit() 0 > size!"); | ||||
int ByteCount = send(Handle, bfr, size, NOFLAGS); // Try to send and capture the count. | |||||
int ByteCount = send(Handle, bfr, size, NO_SIGNALS); // Try to send and capture the count. | |||||
if(0 > ByteCount) ByteCount = 0; // Mask error results as 0 bytes sent. | if(0 > ByteCount) ByteCount = 0; // Mask error results as 0 bytes sent. | ||||
if(size > ByteCount) { // If we didn't send it all check it out. | if(size > ByteCount) { // If we didn't send it all check it out. |
#include <winsock2.h> | #include <winsock2.h> | ||||
typedef int socklen_t; // Posix uses socklen_t so we mimic it. | typedef int socklen_t; // Posix uses socklen_t so we mimic it. | ||||
typedef SOCKET hSocket; // Winx handles Socket is opaque. | typedef SOCKET hSocket; // Winx handles Socket is opaque. | ||||
#ifndef NO_SIGNALS | |||||
const int NO_SIGNALS = 0; // Make NO_SIGNALS for windows. | |||||
#endif | |||||
#else | #else | ||||
inline void TCPClient::fillReadBuffer() { // Fills the buffer from the socket. | inline void TCPClient::fillReadBuffer() { // Fills the buffer from the socket. | ||||
LastError = 0; // Clear the LastError value. | LastError = 0; // Clear the LastError value. | ||||
ReadPointer = ReadBuffer; // Reset the ReadPointer. | ReadPointer = ReadBuffer; // Reset the ReadPointer. | ||||
DataLength = recv(Handle, ReadBuffer, sizeof(ReadBuffer), NOFLAGS); // Try to read some data. | |||||
DataLength = recv(Handle, ReadBuffer, sizeof(ReadBuffer), NO_SIGNALS); // Try to read some data. | |||||
if(0 >= DataLength) { // If there was an error then | if(0 >= DataLength) { // If there was an error then | ||||
LastError = Network.getLastError(); // Grab the last error code. | LastError = Network.getLastError(); // Grab the last error code. | ||||
inline void TCPHost::fillReadBuffer() { // Fills the buffer from the socket. | inline void TCPHost::fillReadBuffer() { // Fills the buffer from the socket. | ||||
LastError = 0; // Clear the LastError value. | LastError = 0; // Clear the LastError value. | ||||
ReadPointer = ReadBuffer; // Reset the ReadPointer. | ReadPointer = ReadBuffer; // Reset the ReadPointer. | ||||
DataLength = recv(Handle, ReadBuffer, sizeof(ReadBuffer), NOFLAGS); // Try to read some data. | |||||
DataLength = recv(Handle, ReadBuffer, sizeof(ReadBuffer), NO_SIGNALS); // Try to read some data. | |||||
if(0 >= DataLength) { // If there was an error then | if(0 >= DataLength) { // If there was an error then | ||||
LastError = Network.getLastError(); // Grab the last error code. | LastError = Network.getLastError(); // Grab the last error code. |