09-22-2010
I modified my code to use poll to wait for data from sockets and commented out the ioctl() call and added poll() calls so that I wouldn't have to worry about waiting indefinitely on readable data to show up on the port which appears to have fixed my problem!
Thank you,
Brandon
---------- Post updated at 04:15 PM ---------- Previous update was at 02:12 PM ----------
Removing ioctl didn't fix the problem, the data just makes it to the port randomly now..
I see something on Wikipedia under TCP about close() on a port with data still in the queue, but it doesn't have a reference to how to fix the issue (I would post a link, but I haven't posted 5 articles yet!)
10 More Discussions You Might Find Interesting
1. IP Networking
:cool:
I want to use 2 tcp applications in SCO 5.05 senerio I am using
VisionFS 3.1 and I need to set it up as a secondary tcp app. I follow the profeditoir and change the tcp port from the primary port (139) to any other number below port 1024 and then restart the VisionFS server it is still... (2 Replies)
Discussion started by: lanman
2 Replies
2. UNIX for Dummies Questions & Answers
If I do a netstat -a I can see all the sockets currently open, is there a way that I can tell which application is holding open these sockets ? (3 Replies)
Discussion started by: murphyboy
3 Replies
3. UNIX for Dummies Questions & Answers
Hello, I have a service running (ODBC) and every now and then it will hang and I will have to stop and restart the service. The problem is when I stop the service, it indeed stops the service, but netstat reports a tcp port still open with the fin_wait_2 status. Then I must close the client... (1 Reply)
Discussion started by: raidzero
1 Replies
4. Programming
Hi all,
I'm writing a socket program which sends a structure from one machine to another. When I run my client first time it runs well, however after the first time I couldn't receive all the data inside the structure (it is like, half of the array is received and the other half is not set). I... (1 Reply)
Discussion started by: SaTYR
1 Replies
5. Programming
Hello. I would like to know how to close an existing tcp socket. I have read some stuff and learned how to create a socket and then close it but have not found anything about how to close an existing tcp socket created by another application. The situation is this: I have an ODBC server running and... (6 Replies)
Discussion started by: raidzero
6 Replies
6. Solaris
Hi,
I use solaris Unix .
I find there is some problem in application and it generate many "close-wait" tcp connect and stay in the server . it is generate by process id 7740
root@XX # netstat -an | grep CLOSE_WAIT | wc -l
285
root@XX # netstat -an | grep CLOSE_WAIT
10.158.35.4.34805 ... (2 Replies)
Discussion started by: abcdef
2 Replies
7. Programming
can someone provide an example, where if the parent process quits for any reason, then the child process will also close? (3 Replies)
Discussion started by: omega666
3 Replies
8. IP Networking
Hello All,
I am very new to socket programming and client server architecture. I have to write a client which will send some data to server and server will display it on its console. I am ready with both client and server but my problem is with packetizing of data --
I have... (1 Reply)
Discussion started by: anand.shah
1 Replies
9. Shell Programming and Scripting
Hi
I want to write a script that will back up one directory if a certain application launches and then backs up another directory if that same application is closed down.
NFI where to start. It seems like cron isn't the tool for this because that is time based. I'm thinking I need... (6 Replies)
Discussion started by: zorrokan
6 Replies
10. UNIX for Advanced & Expert Users
Good morning, I need your help please
After Restarting Aps or connection, these are connections
tcp 0 0 10.80.1.26.57597 10.81.248.79.53008 ESTABLISHED
tcp 0 47 10.80.1.26.57607 10.81.248.79.53008 ESTABLISHED
tcp 0 0 ... (4 Replies)
Discussion started by: alexcol
4 Replies
LEARN ABOUT PHP
socket_set_option
SOCKET_SET_OPTION(3) 1 SOCKET_SET_OPTION(3)
socket_set_option - Sets socket options for the socket
SYNOPSIS
bool socket_set_option (resource $socket, int $level, int $optname, mixed $optval)
DESCRIPTION
The socket_set_option(3) function sets the option specified by the $optname parameter, at the specified protocol $level, to the value
pointed to by the $optval parameter for the $socket.
PARAMETERS
o $socket
- A valid socket resource created with socket_create(3) or socket_accept(3).
o $level
- The $level parameter specifies the protocol level at which the option resides. For example, to retrieve options at the socket
level, a $level parameter of SOL_SOCKET would be used. Other levels, such as TCP, can be used by specifying the protocol number of
that level. Protocol numbers can be found by using the getprotobyname(3) function.
o $optname
- The available socket options are the same as those for the socket_get_option(3) function.
o $optval
- The option value.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
EXAMPLES
Example #1
socket_set_option(3) example
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (!is_resource($socket)) {
echo 'Unable to create socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
echo 'Unable to set option on socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
if (!socket_bind($socket, '127.0.0.1', 1223)) {
echo 'Unable to bind socket: '. socket_strerror(socket_last_error()) . PHP_EOL;
}
$rval = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR);
if ($rval === false) {
echo 'Unable to get socket option: '. socket_strerror(socket_last_error()) . PHP_EOL;
} else if ($rval !== 0) {
echo 'SO_REUSEADDR is set on socket !' . PHP_EOL;
}
?>
PHP Documentation Group SOCKET_SET_OPTION(3)