SOCKET - HELP - resolvido : )

SOCKET - HELP - resolvido : )

Postby MGA » Thu Apr 24, 2008 2:40 pm

friends, I managed to connect the keyboard route WILBOR socket, must now receive the data entered. How to do this using the example below?


// Socket server connection sample

#include "FiveWin.ch"

#define ST_COMMAND 1
#define ST_SENDFILE 2
#define FILE_BLOCK 8000

static oWnd, oSocket, oClient

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

function Main()

local oBar

DEFINE WINDOW oWnd TITLE "Server socket"

DEFINE BUTTONBAR oBar OF oWnd _3D

DEFINE BUTTON OF oBar ACTION (Server()) TOOLTIP "Listen"

ACTIVATE WINDOW oWnd

return nil

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

function Server()

oSocket = TSocket():New( 1001 )

oSocket:bAccept = { | oSocket | oClient := TSocket():Accept( oSocket:nSocket ),;
oClient:Cargo := ST_COMMAND,;
oClient:bRead := { | oSocket | OnRead( oSocket ) },;
oClient:bClose := { | oSocket | OnClose( oSocket ) }}

oSocket:OnWrite("TESTE")
oSocket:Listen()

return nil

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

function OnRead( oSocket )

local cData := oSocket:GetData()
local cToken
LogFile( "sockserv.txt", { Len( cData ), cData } )
do case
case oSocket:Cargo == ST_COMMAND
cToken = StrToken( cData, 1 )
do case
case cToken == "SENDFILE"
oSocket:Cargo = ST_SENDFILE
oSocket:hFile = fcreate( StrToken( cData, 2 ) )

case cToken == "MSG"
MsgInfo( SubStr( cData, 5 ) )
endcase

case oSocket:Cargo == ST_SENDFILE
fwrite( oSocket:hFile, cData, Len( cData ) )
LogFile( "sockserv.txt", { "writting..." } )

if Len( cData ) < FILE_BLOCK
// fclose( oSocket:hFile )
// MsgInfo( Len( cData ) )
// oSocket:Cargo = ST_COMMAND
endif
endcase

return nil

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

function OnClose( oSocket )

MsgInfo( "Client has closed!" )

do case
case oSocket:Cargo == ST_SENDFILE
fclose( oSocket:hFile )
endcase

oSocket:End()

return nil
Last edited by MGA on Fri Apr 25, 2008 11:04 am, edited 1 time in total.
ubiratanmga@gmail.com

FWH24.04
BCC7.3
HARBOUR3.2
xMate
Pelles´C
TDolphin
MGA
 
Posts: 1252
Joined: Mon Feb 25, 2008 2:54 pm
Location: Brasil/PR/Maringá

Postby Antonio Linares » Thu Apr 24, 2008 3:53 pm

Please review fwh\samples\sockcli.prg and sockserv.prg
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42080
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 73 guests