CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Need a Custom or Prewritten Perl Program?: I need a program that...:
Communication between perl script and C programme through sockets

 



zenith007
New User

Dec 19, 2009, 1:51 AM

Post #1 of 2 (3230 views)
Communication between perl script and C programme through sockets Can't Post

Hi all,

I need a perl script , which is able to communicate with the C programme on the same local machine through socket programming.

This is one which I have written , but I dont know what causing the problem , the script is unalbe get data
I've tried the code in Perl Cookbook, and many modifications. Here's my socket programme

<code>
#!/usr/bin/perl
use IO::Socket;
use strict;
use warnings;

unlink "/tmp/mysock";
our $server = IO::Socket::UNIX->new(LocalAddr => "/tmp/mysock",
Type => SOCK_DGRAM,
Listen => 5)
or die $!;

while (my $client = $server->accept())
{
while (defined (my $buf = <$client>))
{
print "$buf\n";
}
}

close ($server);

exit(0);

</code>
When I run it, the ->new() call appears to work. No error codes and the debugger reports that $server is a socket. The /tmp/mysock file doesn't get created, though. Then the while($client = ... ) just falls through. It doesn't wait for the socket to say anything, it just skips to the close() statement and exits.
I've done this with INET sockets a number of times with no problems, but this is the first time I've tried UNIX sockets. If anyone has any ideas, I'd appreciate hearing about them. Thanks Russ Jones


Code



      
    


lifesaver
Novice

Dec 19, 2009, 8:59 AM

Post #2 of 2 (3216 views)
Re: [zenith007] Communication between perl script and C programme through sockets [In reply to] Can't Post


In Reply To
Hi all,

I need a perl script , which is able to communicate with the C programme on the same local machine through socket programming.

This is one which I have written , but I dont know what causing the problem , the script is unalbe get data
I've tried the code in Perl Cookbook, and many modifications. Here's my socket programme

<code>
#!/usr/bin/perl
use IO::Socket;
use strict;
use warnings;

unlink "/tmp/mysock";
our $server = IO::Socket::UNIX->new(LocalAddr => "/tmp/mysock",
Type => SOCK_DGRAM,
Listen => 5)
or die $!;

while (my $client = $server->accept())
{
while (defined (my $buf = <$client>))
{
print "$buf\n";
}
}

close ($server);

exit(0);

</code>
When I run it, the ->new() call appears to work. No error codes and the debugger reports that $server is a socket. The /tmp/mysock file doesn't get created, though. Then the while($client = ... ) just falls through. It doesn't wait for the socket to say anything, it just skips to the close() statement and exits.
I've done this with INET sockets a number of times with no problems, but this is the first time I've tried UNIX sockets. If anyone has any ideas, I'd appreciate hearing about them. Thanks Russ Jones


Code


We can do it within your budget,if interested contact our programmer live or put your requirement in our messegebord @ http://www.livefreelancer.net/

 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives