Closes a named pipe instance.
PipeServerClose(pipe-handle, timeout)
(i) pipe-handle pipe handle returned by PipeServerCreate.
(i) timeout specifies the timeout period in seconds, or -1 for no timeout.
(i/s) returns 1 on success, or "*TIMER*".
If there is a client connected to the pipe, the function will wait "timeout" seconds for the client to close its end of the pipe.
;------------ ; CLIENT.WBT ;------------ SERVER = "myserver" ; Or "." for the local machine pipename = "fluggle" pipepath = StrCat("\\",SERVER,"\pipe\",pipename) querydata = "GET_TIME" timeout = -1 IntControl(12,5,0,0,0);terminate quietly notice = StrCat(@CRLF,@CRLF,"[ Press CTRL+BREAK to exit script ]") BoxOpen("Time Client","Initializing connection to server...") While @TRUE pipehandle = PipeClientOpen(pipepath,timeout) If pipehandle=="*ERROR*" || pipehandle=="*TIMER*" Then Continue ; try again data=PipeClientSendRecvData(pipehandle, querydata,timeout) BoxText(StrCat("Data sent from server = ", data, notice)) PipeClientClose(pipehandle) EndWhile Message("Client","Exited") Exit ;------------ ; SERVER.WBT ;------------ pipename="\\.\pipe\fluggle" timeout = -1 IntControl(12,5,0,0,0);terminate quietly notice = StrCat(@CRLF,@CRLF,"[ Press CTRL+BREAK to exit script ]") BoxOpen("Time Server","Initializing - Awaiting connect from Client") While @TRUE ; General Server loop pipehandle = PipeServerCreate(pipename,timeout) If pipehandle=="*ERROR*" || pipehandle=="*TIMER*" Then Continue readinfo = PipeServerRead(pipehandle, timeout) If readinfo=="*ERROR*" || readinfo=="*TIMER*" PipeServerClose(pipehandle,0) Continue ; try again EndIf If readinfo == "GET_TIME" response= TimeYmdHms() Else response = "ERROR: UNKNOWN REQUEST" EndIf rslt=PipeServerWrite(pipehandle,response) BoxText(StrCat("Data sent to client = ",response, notice)) PipeServerClose(pipehandle,timeout) EndWhile Message("Server","Exited") Exit
PipeClientClose, PipeClientOpen, PipeClientSendRecvData, PipeInfo, PipeServerCreate, PipeServerRead, PipeServerWrite