size_t TCPSocket::writeStream(const byte *rgbWrite, size_t cbWrite, IPSTATUS * pStatus) { // make sure we are Connected // this will also run the stack if(TCPIsEstablished(&_socket, pStatus)) { return(TCPWrite(&_socket, rgbWrite, cbWrite, pStatus)); } return(0); }
/** * Writes an array of characters on the specified socket. * \param ftpsockwr - The socket to which data is to be written (it's the handle returned by the command TCPClientOpen or TCPServerOpen). * \param ftpstrtowr - Pointer to the array of characters to be written. * \param ftpwlen - The number of characters to write. * \return The number of bytes written to the socket. If less than ftpwlen, the buffer became full or the socket is not conected. */ WORD FTPWrite(TCP_SOCKET ftpsockwr , BYTE* ftpstrtowr , int ftpwlen) { return TCPWrite(ftpsockwr , (char *)ftpstrtowr , ftpwlen); }
BOOL XivelyPut(TCP_SOCKET MySocket, char* tmpString) { char resString[250]; BOOL result; int i; static ROM char GoodHTTPResponse[] = "{\"status\":200"; #if defined(STACK_USE_UART) UARTWrite(1,tmpString); #endif // Send the blob TCPWrite( MySocket, tmpString, (int)strlen(tmpString) ); #if defined(STACK_USE_UART) UARTWrite(1,"Data sent, Waiting response.\r\n"); #endif vTaskDelay(500); // Make sure there are enough chars to read i = 10; while (i>0 && (TCPRxLen(MySocket) < 16)) { //vTaskDelay( xDelay(500) ); vTaskDelay(500); i--; } if(i!=0) { // Get the response from the server TCPRead( MySocket, resString, 250 ); #if defined(STACK_USE_UART) UARTWrite(1,resString); UARTWrite(1,"\r\n"); #endif if (strstr( resString, GoodHTTPResponse) == NULL) { // We are in an error condition, so light up the Flyport led result = FALSE; #if defined(STACK_USE_UART) UARTWrite(1,"Request failed.\r\n"); #endif } else { #if defined(STACK_USE_UART) UARTWrite(1,"Request succeeded.\r\n"); #endif result = TRUE; } } else { #if defined(STACK_USE_UART) UARTWrite(1,"Server did not reply.\r\n"); #endif result = FALSE; } vTaskDelay(500); return result; }