How to timeout and proceed in perl?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to timeout and proceed in perl?
# 1  
Old 06-25-2012
Java How to timeout and proceed in perl?

I'm writing a small socket program (UDP) to communicate between two servers.
Problem is, I dont know how to implement time out hence my script keeps on waiting for the peer response.


Code:
#!/usr/bin/bash
use IO::Socket::INET;
$|=1;
$socket=new IO::Socket::INET->new(LocalPort=>5001,
						    Proto=>'udp',
						    timeout=>5);
print "\nUDPServer Waiting for client on port 5001 and will timeout in 5 secs";
$socket->recv($recieved_data,1024);
print "\nReceived data $recieved_data \n \n";

Here if there is no message received the script keeps on waiting forever..

I couldnt understand the use of timeout here (i guess its for udp). Googling for this issue redirects me to select() and alarms, where im stuck with my little knowledge in perl.
# 2  
Old 06-25-2012
This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 06-25-2012
Thanks itkamaraj. It worked. Here is the code..


Code:
#!/usr/bin/perl
use IO::Socket::INET;
$|=1;
$socket=new IO::Socket::INET->new(LocalPort=>5001, Proto=>'udp');
print "\nUDPServer Waiting for client on port 5001 and will timeout in 5 secs";
eval {
  local $SIG{ALRM} = sub { die 'Timed Out'; };
  alarm 5;
  $socket->recv($recieved_data,1024);
  print "\nReceived data $recieved_data \n \n";
    alarm 0;
};
alarm 0;
print "\nError: timeout \n" if ( $@ && $@ =~ /Timed Out/ );

Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to Proceed to the Next IP if the current IP hangs

Hi there, Say I have a list of IPs, I am running scripts on them. If the process hang. I want to continue with the rest of the IPs. 10.11.1.1 10.11.1.2 10.11.1.3 10.11.1.4 10.11.1.5 10.11.1.6 <-- Process Hangs here 10.11.1.7 10.11.1.8 10.11.1.9 10.11.1.10 10.11.1.11 10.11.1.12 ... (11 Replies)
Discussion started by: alvinoo
11 Replies

2. Shell Programming and Scripting

how to proceed when curl is finished

I have a script which uses cli curl to download the source code of a webpage and then tests if a specific string exists in the source. The problem is that the website has a slow response, so the eval expression hasn't completed when the test starts. The test returns a negative, and the curl... (8 Replies)
Discussion started by: locoroco
8 Replies

3. Web Development

Request to check:PHP help hw to proceed

Hi I am new to PHP. I have to changed a website design adn add certain features and lnks which shuld direct it towards other website. Can any body help me how to proceed. I have some already made templates to do this. I am conpletely new.. So, I have to first install Php from... (0 Replies)
Discussion started by: manigrover
0 Replies

4. Solaris

Zlogin -C with out user Interaction how to proceed?

Hi Guys, I have one requirement like if we run install.sh file it should have to create a zone and install oracle in that zone with out any user interaction. So the complete code should be automated. Almost 90% of the code I completed but i am having some doubts 1) After the zone creation... (1 Reply)
Discussion started by: vijaysachin
1 Replies

5. UNIX for Dummies Questions & Answers

Using exit status of GREP to proceed

Hi I have a script that carries out a "grep" command, and displays the output on screen. What I need to do is utilise the exit status of this grep, so that, for example, if it returns no entries, it asks the user if they want to set up a new user, and if the grep returns an entry, it states... (1 Reply)
Discussion started by: Great Uncle Kip
1 Replies

6. Shell Programming and Scripting

Need help for automating a task. How to proceed ?.

Dear friends, I am trying to prepare a shell script which do the following task. Being a beginner in scripting I need a bit of help from you all for shell script which does the following job. 1.Check for existence of a file in a shared directory (at some remote location ) once in a day ... (1 Reply)
Discussion started by: aarora_98
1 Replies

7. UNIX for Dummies Questions & Answers

How can i proceed on this (datecheck)

Hi, I want to bundle if statements The script which i created is if ]; then if ]; then now=`TZ=CST+24 date +%Y-%m-%d` nows=`TZ=CST+24 date +%Y-%m-%d` ; else ]; then now=`TZ=CST+48 date +%Y-%m-%d` nows=`TZ=CST+48 date +%Y-%m-%d` ; fi now=`TZ=CST+24 date +%Y-%m-%d` nows=`date... (2 Replies)
Discussion started by: gopskrish
2 Replies

8. Programming

I am porting Dll from NT to Unix, how should I proceed

I am porting Dll from Windows NT to Unix, Could any body pls guide me how should I proceed?? (3 Replies)
Discussion started by: Vipin
3 Replies
Login or Register to Ask a Question