usage of setsockopt()


 
Thread Tools Search this Thread
Special Forums IP Networking usage of setsockopt()
# 1  
Old 11-23-2010
usage of setsockopt()

I want to set timout for a socket, but these do not work:

Code:
struct timeval timeout;
timeout.tv_sec = 3;
int m=setsockopt(icmp_sock, SOL_SOCKET, SO_RCVTIMEO, (struct timeval *)&timeout, sizeof(timeout));
if(m == -1) perror("set");
int q=setsockopt(icmp_sock, SOL_SOCKET, SO_SNDTIMEO, (struct timeval *)&timeout, sizeof(timeout));
if(q == -1) perror("set");

Output:

set: Numerical argument out of domain
set: Numerical argument out of domain


PS: on fedora14

thx!

Last edited by vistastar; 11-23-2010 at 04:57 AM..
# 2  
Old 11-23-2010
I am not familiar with this particular error. I am running Ubuntu, and I looked at the man page for setsockopt. It can return EINVAL, which may be the error you receive. Teh reason for this error is that optlen (the last parameter) is invalid. Sometimes also when the optval is invalid.

In your specific code I detected two problems:
1. You didn't zero timeout.tv_usec. Perhaps it contained a garbage value that is invalid (too big).

2. The casting you are doing in the call itself do not conform to the definition of setsockopt(). Instead of (struct timeval *) use (void *). For the last parameter, I would use the cast (socklen_t).
# 3  
Old 11-24-2010
1. You didn't zero timeout.tv_usec. Perhaps it contained a garbage value that is invalid (too big).

That is the problem. Thanks.

May be the struct timeval is a whole. the time described by the struct in microseconds is like this: timeout.tv_sec*1000000 + timout.tv_usec.

thkx
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Memory usage per user,percent usage,sytem time in ksh

Let's say i have 20 users logged on Server. How can I know how much memory percent used each of them is using with system time in each user? (2 Replies)
Discussion started by: roy1912
2 Replies

2. Shell Programming and Scripting

Usage of $(

I recently came across this construct that i am not able to understand. ex: cat $(grep -l 'HELLO' *) the above command prints out the contents of the file if HELLO string is present in the file. I am not able to understand the usage of "$(" here.. can anybody help me understand this? $anything... (2 Replies)
Discussion started by: sreeharshasn
2 Replies

3. Programming

SO_SNDTIMEO in setsockopt() doesn't work in send()

I create a program that need a timeout on both send() and recv() function, but I found that SO_SNDTIMEO doesn't work but SO_RCVTIMEO works!! int sock; int bytesRcvd, totalBytesRcvd = 0; struct sockaddr_in servAddr; struct timeval tv; int rx = 0; int tx... (1 Reply)
Discussion started by: sehang
1 Replies

4. UNIX for Dummies Questions & Answers

Command to display the space usage (memory usage) of a specific directory.

Hi all, Can you please tell me the command, with which one can know the amount of space a specific directory has used. df -k . ---> Displays, the amount of space allocated, and used for a directory. du -k <dir name> - gives me the memory used of all the files inside <dir> But i... (2 Replies)
Discussion started by: abhisheksunkari
2 Replies

5. Shell Programming and Scripting

Confused with the usage of one variable usage

Hi All I am not able to understand the usage of d# in the below variable declaration. FILE_LOC contains the directory path And also help me to know about what will be saved in the variable j. Thanks!!! j=${d#${FILE_LOC}/} (2 Replies)
Discussion started by: mohanm
2 Replies

6. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

7. Solaris

current CPU usage, memory usage, disk I/O oid(snmp)

Hi, I want to monitor the current cpu usage, monitor usage , disk I/o and network utlization for solaris using SNMP. I want the oids for above tasks. can you please tell me that Thank you (2 Replies)
Discussion started by: S_venkatesh
2 Replies

8. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

9. Programming

CPU usage and memory usage

Please tell me solaris functions/api for getting following information 1- Function that tells how much memory used by current process 2- Function that tells how much memory used by all running processes 3- Function that tells how much CPU is used by current process 4- Function that tells how... (1 Reply)
Discussion started by: mansoorulhaq
1 Replies

10. Programming

Monitor CPU usage and Memory Usage

how can i monitor usages of CPU, Memory, Hard disk etc. under SUN Solaries through a c program or java program i want to store that data into database so i can show it graphically thanks in advance (2 Replies)
Discussion started by: Gajanad Bihani
2 Replies
Login or Register to Ask a Question