2011-01-25 13:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbnetio/utils/netiosrq/netiosrq.hbp
% Fixed: wrong path.
* contrib/hbnetio/utils/netiosrq/netiosrq.prg
! Adopted: Latest changes in netio_* API.
+ Implemented: Bytes sent and received per connection.
This commit is contained in:
@@ -16,6 +16,14 @@
|
||||
The license applies to all entries newer than 2009-04-28.
|
||||
*/
|
||||
|
||||
2011-01-25 13:34 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbnetio/utils/netiosrq/netiosrq.hbp
|
||||
% Fixed: wrong path.
|
||||
|
||||
* contrib/hbnetio/utils/netiosrq/netiosrq.prg
|
||||
! Adopted: Latest changes in netio_* API.
|
||||
+ Implemented: Bytes sent and received per connection.
|
||||
|
||||
2011-01-25 12:16 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
|
||||
* contrib/hbxbp/hbxbp.hbx
|
||||
! Auto-changed.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
-o${hb_name}
|
||||
|
||||
-icon={allwin}../../../package/harb_win.ico
|
||||
-icon={allwin}../../../../package/harb_win.ico
|
||||
-icon={os2}../../package/harb_os2.ico
|
||||
|
||||
../../../hbqt/hbqtuitools.hbc
|
||||
|
||||
@@ -42,7 +42,7 @@ REQUEST __HB_EXTERN__
|
||||
#define _NETIOSRV_cPassword 11
|
||||
#define _NETIOSRV_MAX_ 11
|
||||
|
||||
#define DAT_HBSOCKET 1
|
||||
#define DAT_CONNSOCKET 1
|
||||
#define DAT_SERIAL 2
|
||||
#define DAT_ACTIVATED 3
|
||||
#define DAT_IP 4
|
||||
@@ -51,14 +51,14 @@ REQUEST __HB_EXTERN__
|
||||
#define DAT_TIMEOUT 7
|
||||
#define DAT_BYTESIN 8
|
||||
#define DAT_BYTESOUT 9
|
||||
#define DAT_CONNSOCKET 10
|
||||
#define DAT_OPENFILES 11
|
||||
#define DAT_OPENFILES 10
|
||||
|
||||
#include "hbhrb.ch"
|
||||
#include "fileio.ch"
|
||||
#include "hbclass.ch"
|
||||
#include "common.ch"
|
||||
#include "hbqtgui.ch"
|
||||
#include "hbnetio.ch"
|
||||
|
||||
#include "Xbp.ch"
|
||||
#include "Gra.ch"
|
||||
@@ -66,8 +66,6 @@ REQUEST __HB_EXTERN__
|
||||
|
||||
#define RGB( r, g, b ) GraMakeRGBColor( { r, g, b } )
|
||||
|
||||
THREAD STATIC s_hSocket
|
||||
|
||||
/*----------------------------------------------------------------------*/
|
||||
|
||||
Function Main( ... )
|
||||
@@ -144,7 +142,6 @@ CLASS NetIOServer
|
||||
DATA nNumConxn INIT 0
|
||||
DATA oDlg
|
||||
DATA oBrw
|
||||
DATA oBrowser
|
||||
DATA cTitle
|
||||
DATA pMtx
|
||||
DATA oSys
|
||||
@@ -232,7 +229,7 @@ METHOD NetIOServer:create( netiosrv )
|
||||
ltrim( str( int( netiosrv[ _NETIOSRV_nPort ] ) ) ) + " : " + ;
|
||||
netiosrv[ _NETIOSRV_cRootDir ] + " ]"
|
||||
|
||||
::oDlg := XbpDialog():new( , , { 20,20 }, { 800,300 } )
|
||||
::oDlg := XbpDialog():new( , , { 20,20 }, { 850,300 } )
|
||||
::oDlg:title := ::cTitle
|
||||
::oDlg:taskList := .T.
|
||||
::oDlg:close := {|| ::confirmExit() }
|
||||
@@ -287,9 +284,7 @@ METHOD NetIOServer:custom_netio_server( pConnectionSocket )
|
||||
METHOD NetIOServer:register_connection( pConnectionSocket )
|
||||
LOCAL aPeer, cIP := "", nPort := 0
|
||||
|
||||
s_hSocket := netio_srvSocket( pConnectionSocket )
|
||||
|
||||
aPeer := hb_socketGetPeerName( s_hSocket )
|
||||
netio_srvStatus( pConnectionSocket, NETIO_SRVINFO_PEERADDRESS, @aPeer )
|
||||
IF hb_isArray( aPeer )
|
||||
IF len( aPeer ) >= 2
|
||||
cIP := xtos( aPeer[ 2 ] )
|
||||
@@ -301,9 +296,9 @@ METHOD NetIOServer:register_connection( pConnectionSocket )
|
||||
|
||||
IF hb_mutexLock( ::pMtx )
|
||||
IF ::aData[ 1,2 ] == 0
|
||||
::aData[ 1 ] := { s_hSocket, 1, .t., pad( cIP, 15 ), nPort, dtoc( date() ) + " " + time(), space( 18 ), 0, 0, pConnectionSocket, 0 }
|
||||
::aData[ 1 ] := { pConnectionSocket, 1, .t., pad( cIP, 15 ), nPort, dtoc( date() ) + " " + time(), space( 18 ), 0, 0, 0 }
|
||||
ELSE
|
||||
aadd( ::aData, { s_hSocket, len( ::aData ) + 1, .t., pad( cIP, 15 ), nPort, dtoc( date() ) + " " + time(), space( 18 ), 0, 0, pConnectionSocket, 0 } )
|
||||
aadd( ::aData, { pConnectionSocket, len( ::aData ) + 1, .t., pad( cIP, 15 ), nPort, dtoc( date() ) + " " + time(), space( 18 ), 0, 0, 0 } )
|
||||
ENDIF
|
||||
hb_mutexUnlock( ::pMtx )
|
||||
ENDIF
|
||||
@@ -318,19 +313,16 @@ METHOD NetIOServer:register_connection( pConnectionSocket )
|
||||
METHOD NetIOServer:unregister_connection( pConnectionSocket )
|
||||
LOCAL n
|
||||
|
||||
HB_SYMBOL_UNUSED( pConnectionSocket )
|
||||
::nNumConxn--
|
||||
::oDlg:title := ::cTitle + " - " + ltrim( str( ::nNumConxn, 6, 0 ) )
|
||||
if ( n := ascan( ::aData, {|e_| e_[ DAT_HBSOCKET ] == s_hSocket } ) ) > 0
|
||||
if ( n := ascan( ::aData, {|e_| e_[ DAT_CONNSOCKET ] == pConnectionSocket } ) ) > 0
|
||||
IF hb_mutexLock( ::pMtx )
|
||||
::aData[ n, DAT_ACTIVATED ] := .f.
|
||||
::aData[ n, DAT_TIMEOUT ] := dtoc( date() ) + " " + time()
|
||||
::aData[ n, DAT_HBSOCKET ] := NIL
|
||||
::aData[ n, DAT_CONNSOCKET ] := NIL
|
||||
hb_mutexUnlock( ::pMtx )
|
||||
ENDIF
|
||||
ENDIF
|
||||
s_hSocket := NIL
|
||||
::refresh()
|
||||
|
||||
RETURN NIL
|
||||
@@ -568,8 +560,8 @@ METHOD NetIOServer:recNo()
|
||||
METHOD NetIOServer:buildColumns()
|
||||
LOCAL aPP, oXbpColumn
|
||||
LOCAL nClrBG := GRA_CLR_WHITE
|
||||
LOCAL nClrHFg := GRA_CLR_YELLOW
|
||||
LOCAL nClrHBg := GRA_CLR_BLUE
|
||||
LOCAL nClrHFg := GRA_CLR_BLACK //YELLOW
|
||||
LOCAL nClrHBg := GRA_CLR_DARKGRAY //BLUE
|
||||
|
||||
aPP := {}
|
||||
aadd( aPP, { XBP_PP_COL_HA_CAPTION , "Sr" } )
|
||||
@@ -683,10 +675,12 @@ METHOD NetIOServer:buildColumns()
|
||||
aadd( aPP, { XBP_PP_COL_DA_HILITE_FGCLR , GRA_CLR_WHITE } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_HILITE_BGCLR , GRA_CLR_DARKGRAY } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWHEIGHT , 20 } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWWIDTH , 60 } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWWIDTH , 90 } )
|
||||
//
|
||||
oXbpColumn := XbpColumn():new()
|
||||
oXbpColumn:dataLink := {|| str( ::aData[ ::recNo(), DAT_BYTESIN ], 6, 0 ) }
|
||||
oXbpColumn:dataLink := {|n| iif( empty( ::aData[ ::recNo(), DAT_CONNSOCKET ] ), n := ::aData[ ::recNo(), DAT_BYTESIN ], ;
|
||||
netio_srvStatus( ::aData[ ::recNo(), DAT_CONNSOCKET ], NETIO_SRVINFO_BYTESRECEIVED, @n ) ), ;
|
||||
::aData[ ::recNo(), DAT_BYTESIN ] := n, str( n, 10, 0 ) }
|
||||
oXbpColumn:create( , , , , aPP )
|
||||
::oBrw:addColumn( oXbpColumn )
|
||||
|
||||
@@ -700,11 +694,12 @@ METHOD NetIOServer:buildColumns()
|
||||
aadd( aPP, { XBP_PP_COL_DA_HILITE_FGCLR , GRA_CLR_WHITE } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_HILITE_BGCLR , GRA_CLR_DARKGRAY } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWHEIGHT , 20 } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWWIDTH , 60 } )
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWWIDTH , 90 } )
|
||||
//
|
||||
oXbpColumn := XbpColumn():new()
|
||||
oXbpColumn:dataLink := {|| str( ::aData[ ::recNo(), DAT_BYTESOUT ], 6, 0 ) }
|
||||
oXbpColumn:colorBlock := {|| iif( ::aData[ ::recNo,3 ], { GRA_CLR_BLACK, nClrBG }, { GRA_CLR_RED, nClrBG } ) }
|
||||
oXbpColumn:dataLink := {|n| iif( empty( ::aData[ ::recNo(), DAT_CONNSOCKET ] ), n := ::aData[ ::recNo(), DAT_BYTESOUT ], ;
|
||||
netio_srvStatus( ::aData[ ::recNo(), DAT_CONNSOCKET ], NETIO_SRVINFO_BYTESSENT, @n ) ), ;
|
||||
::aData[ ::recNo(), DAT_BYTESOUT ] := n, str( n, 10, 0 ) }
|
||||
oXbpColumn:create( , , , , aPP )
|
||||
::oBrw:addColumn( oXbpColumn )
|
||||
|
||||
@@ -721,8 +716,8 @@ METHOD NetIOServer:buildColumns()
|
||||
aadd( aPP, { XBP_PP_COL_DA_ROWWIDTH , 60 } )
|
||||
//
|
||||
oXbpColumn := XbpColumn():new()
|
||||
oXbpColumn:dataLink := {|| str( iif( empty( ::aData[ ::recNo(), DAT_CONNSOCKET ] ), 0, ;
|
||||
netio_srvOpenFilesCount( ::aData[ ::recNo(), DAT_CONNSOCKET ] ) ), 6, 0 ) }
|
||||
oXbpColumn:dataLink := {|n| iif( empty( ::aData[ ::recNo(), DAT_CONNSOCKET ] ), n := 0, ;
|
||||
netio_srvStatus( ::aData[ ::recNo(), DAT_CONNSOCKET ], NETIO_SRVINFO_FILESCOUNT, @n ) ), str( n, 5, 0 ) }
|
||||
oXbpColumn:create( , , , , aPP )
|
||||
::oBrw:addColumn( oXbpColumn )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user