Fellow Monks,
I have a script that listens on the UNIXDGRAM socket
for connections & have multiple scripts that call this single
listening process. If two or more scripts call this listening process, would they clash? If so, how can I get
out of it? Any suggestions?
use MY::Variables;
use Socket;
$addr = sockaddr_un($LogSocket);
socket(SERVER, PF_UNIX, SOCK_DGRAM, 0) || die "Could not create socket
+: $!";
unlink("$LogSocket");
bind(SERVER, $addr) || die "Could not bind: $!";
#select((select(SERVER), $| = 1)[0]); #enable command buffering
while (1) {
$x = recv(SERVER,$msg,1024,0);
if (defined($x)) {
my ($time,$level,$Program,$message,@sites) = split(chr(28),$ms
+g);
foreach my $site (sort @sites) {
my $email = "$time [$Program] $message";
open(LOG, ">> $GnrtLog/$site.log") || die "cannot open $Lo
+gSocket $!";
print LOG $email;
close(LOG);
}
} else {
print "hi";
$count++;
}
If no process is sending something to this listening process (above)
then the above script idles on
recv line until it
receives something again?
How can I make it get out of the 'recv' cond to exec the count++?
The multiple clients:
use MY::Variables;
use Socket;
<some irrelevant stuff here>
if (socket(SERVER, PF_UNIX, SOCK_DGRAM, 0)) {
my $send = send(SERVER, $message, 0, sockaddr_un($LogSocke
+t));
if (defined($send)) {
print "sent $message";
}
} else {
print "I couldn't connect $!";
}
close(SERVER);
thanx for any suggestions...
(let me know if I'm being unclear)
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.