cQCLIENT ;TPC/IP client ;cQCLIENT; Q ; LISTEN(y,debug) ;Listen on port y and process request S y=$g(y,50001),log="^logvcr(y,i1,i2)",io="|TCP|4" S io="|TCP|"_y I $G(debug) S ^vc(y,"debug")=+debug ;O io:(/PORT=y:/PSTE:/CLOSEFLUSH):2 S OK=$T O io:(/PSTE:/CLOSEFLUSH):2 S OK=$T I $G(^vc(y,"debug")) D TIMES,LOG(log,$S('OK:"Cannot open port "_y_" on local server",1:"Port "_y_" opened on local server")) I 'OK Q S $ZT="LISTE" LISTENA U io R REQ I $G(^vc(y,"debug")) D TIMES,LOG(log,REQ) S REP="Reply "_$R(1000) I '$L(REP) G LISTENA LISTENB u io W REP,! I $G(^vc(y,"debug")) D LOG(log,REP) I '$G(^vc(y,"quit")) G LISTENA LISTENZ Q ; LISTE U 0 W !,$ZE I $ZE["LISTENA^"_$T(+0) G LISTENA I $ZE["LISTENB^"_$T(+0) G LISTENB S %=$ZE D ^cA400 LISTEZ ZQ ; SEND(x,y,r,debug) ;Send data r on server x, port y and quit S x=$G(x,"127.0.0.1"),y=$g(y,50001),log="^logvcs(y,i1,i2)",io="|TCP|4" S io="|TCP|"_y S r=$G(r,"Request "_$R(1000)) I $G(debug) S ^vc(y,"debug")=+debug ;O io:(/HOSTNAME=x:/PORT=y:/PSTE:/CLOSEFLUSH):2 S OK=$T O io:(/HOSTNAME=x:/PSTE:/CLOSEFLUSH):2 S OK=$T I $G(^vc(y,"debug")) D TIMES,LOG(log,$S('OK:"Cannot open port "_y_" on server "_x,1:"Connection opened on port "_y_" on server "_x)) I 'OK Q S $ZT="SENDER" SENDA U io W r,! I $G(^vc(y,"debug")) D TIMES,LOG(log,r) SENDB U io R z:10 C io I $G(^vc(y,"debug")) D LOG(log,$S($L($G(z)):$G(z),1:"No message from server")) SENDZ Q ; SENDER U 0 W !,$ZE ;I $ZE["SENDA^cQCLIENT" G SENDA ;I $ZE["SENDB^cQCLIENT" G SENDB S %=$ZE D ^cA400 SENDERZ Q ; TIMES S i1=$ZDATE($H,8),i2=$TR($ZTIME($P($H,",",2)),":") TIMESZ Q ; LOG(L,R) N i3 S i3=$O(@L@(""),-1)+1 S @L@(i3,0)=(+$P($ZU(188),","))_"\"_(+$P($P($ZU(188),",",2),"."))_"\"_(+$P($ZU(188),".",2))_"\"_$ZDATETIME($ZU(188),8,1,5) S @L@(i3,1)=$G(R) LOGZ Q ; LOGC(L,T) ;Clean log N i1 S L=$G(L,"^logvcr(y)"),y=$G(y,50001),T=$G(T,62),i1="" F S i1=$O(@L@(i1)) Q:i1="" W !,i1 I ($P($H,",")-$ZDATEH(i1,8))>T k @L@(i1) LOGCZ Q ; YZ Q ; ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9