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. |