develooper Front page | perl.beginners | Postings from March 2002

problem redirecting STDOUT to file in TCP socket server script

Thread Next
From:
news reader
Date:
March 15, 2002 13:05
Subject:
problem redirecting STDOUT to file in TCP socket server script
Message ID:
20020315203236.79010.qmail@onion.perl.org
Hello,

I have a perl script which is working as TCP socket server.

In this I am redirecting STDOUT to file.
with command in the begining of the script:

open STDOUT, '>./tRL.out'      or die "./tRL.out: $!";

I have following four "print STDOUT" commands

while (accept(CLIENT,SERVER)) {
        $requestNumber++;
        :
        $requestType = <CLIENT>;
        :
        $localtime=localtime;
        :
        :
        print STDOUT "$requestNumber   ";
        print STDOUT "$localtime        ";
        print STDOUT "$requestType      ";

        :
        :
        if ($requestType eq "starttest")
        {

                # Send reply to the client
                $message="readyToStartTest\n";
                print CLIENT $message;
                print STDOUT "$message";
                :
                :
                $testNo++;
                if (($processarray[$testNo] = fork()) == 0) {
                    :
                    :
                } # end of fork block

         } # end of if starttest
} #end of while


The problem that i am facing is : the same line is printed more than once in
this file. However if STDOUT is as console that the things print fine.

just for a sample:

the output on console comes out like for four client requests:

1       Fri Mar 15 12:31:39 2002        starttest       readyToStartTest
2       Fri Mar 15 12:31:39 2002        starttest       readyToStartTest
3       Fri Mar 15 12:31:40 2002        starttest       readyToStartTest
4       Fri Mar 15 12:31:40 2002        starttest       readyToStartTest

the output from file is with the same type of four client requests:
 1       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
2       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
3       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
1       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
2       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
3       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest
4       Fri Mar 15 12:29:49 2002        starttest       readyToStartTest

Please help with some solution.
Thanks,

Pratibha




Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About