FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Increse input Buffer in WebSocket
Posts: 4
Joined: Thu May 24, 2018 08:23 PM
Increse input Buffer in WebSocket
Posted: Wed May 20, 2020 07:47 AM
how can Increse input Buffer in WebSocket
8192 -> 32350
dont work ???? unpredictible results
Sometimes OK, mostly fails

winsock.c

Code (fw): Select all Collapse
//----------------------------------------------------------------------------//

HB_FUNC( RECV )  //  nSocket --> cResult
{
   LPBYTE buffer = ( LPBYTE ) hb_xgrab( 8192 );

   // WORD wLen = recv( hb_parni( 1 ), ( char * ) buffer, 8192, 0 ); // 8192
   WORD wLen = recv( hb_parni( 1 ), ( char * ) buffer, 32350, 0 ); // 32350

   // if( wLen < 10000 )  // socket errors = 10000 + ...
   if( wLen < 32350 )  
      hb_storvclen( ( char * ) buffer, wLen, 2 );
   else
      hb_storvclen( "", 0, 2 );

   hb_retni( wLen );
   hb_xfree( buffer );
}

//----------------------------------------------------------------------------//


dgorisek@inet.hr
Posts: 1048
Joined: Mon Oct 24, 2005 09:54 AM
Re: Increse input Buffer in WebSocket
Posted: Wed May 20, 2020 11:24 AM
Code (fw): Select all Collapse
LPBYTE buffer = ( LPBYTE ) hb_xgrab( 8192 );

should also
Code (fw): Select all Collapse
LPBYTE buffer = ( LPBYTE ) hb_xgrab( 32350 );
Regards,
Günther
---------------------------------
office@byte-one.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Increse input Buffer in WebSocket
Posted: Wed May 20, 2020 12:55 PM
Please review the function ServeClient() here. This is the right way to do it:

https://github.com/FiveTechSoft/wsserver/blob/master/wsserver.prg

Code (fw): Select all Collapse
      nLen = 1

      while nLen > 0
         cBuffer := Space( 4096 )
         if ( nLen := hb_socketRecv( hSocket, @cBuffer,,, TIMEOUT ) ) > 0  
            cRequest += Left( cBuffer, nLen )
         else
            if nLen == -1 .and. hb_socketGetError() == HB_SOCKET_ERR_TIMEOUT
               nLen = 0
            endif
         endif
      end
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 4
Joined: Thu May 24, 2018 08:23 PM
Re: Increse input Buffer in WebSocket
Posted: Wed May 20, 2020 10:34 PM
Thanks for quick response

I will try to implement it in my "Harbor" WebSocketServer.
Chemistry, mostly translated into "Harbor" from "Java"
https://github.com/TooTallNate/Java-WebSocket/releases/tag/v1.4.0
But It Works OK. and Fast.

look at: "My first FWH app"
http://fivetechsupport.com/forums/viewtopic.php?f=17&t=24170&sid=5fbd852ab319a64c3fbbe66690f96c5d&start=45

Email: dgorisek@inet.hr

Continue the discussion