04-17-2007
Quote:
close(csock,...);
...
read(csock,...);
...
close() closes the file descriptor hence your EBADF for the following read.
As a suggestion, once you use close, actually or mentally put -1 into the file descriptor variable. This also acts as a massive hint that the file descriptor is no longer valid.
Did you really mean "shutdown()" ?
10 More Discussions You Might Find Interesting
1. Programming
I am presently refactoring a windows deamon with an eye towards porting it to linux someday.
Presently the application uses a single background thread and asynchronous socket I/O to implement FTP and HTTP clients in a single switch statement (2000 lines and 100 cases just for the switch... (3 Replies)
Discussion started by: siegfried
3 Replies
2. IP Networking
Hi Friends,
I have written a program which will listener for more than 1000 requests per second from a single socket descriptor and then it will process those requestes. Its taking X amount of time. Now i want to reduce that time. Will I can write multiple threads to receive the... (2 Replies)
Discussion started by: pa.chidhambaram
2 Replies
3. Shell Programming and Scripting
I need to find all the files that have group Read or Write permission or files that have user write permission.
This is what I have so far:
find . -exec ls -l {} \; | awk '/-...rw..w./ {print $1 " " $3 " " $4 " " $9}'
It shows me all files where group read = true, group write = true... (5 Replies)
Discussion started by: shunter63
5 Replies
4. IP Networking
Hi,
We have smb client running on two of the linux boxes and smb server on another linux system. During a backup operation which uses smb, read of a file was allowed while write to the same file was going on.Also simultaneous writes to the same file were allowed.Following are the settings in the... (1 Reply)
Discussion started by: swatidas11
1 Replies
5. Programming
Why does this socket function only read the first 1440 chars of the stream. Why not the whole stream ? I checked it with gdm and valgrind and everything seems correct...
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <string.h>
#include... (3 Replies)
Discussion started by: cyler
3 Replies
6. Programming
Dear Experts,
i am compiling my code in suse 4.1 which is compiling fine,
but at runtime it is showing me for socket programming error no 88
as i searched in errno.h it is telling me socket operation on non socket,
what is the meaning of this , how to deal with this error , please... (1 Reply)
Discussion started by: vin_pll
1 Replies
7. Programming
Can anyone tell what happens if each end writes at the same time on the same socket ?
- if one of them issues a read() after write() has completed, will it record into the buffer what the other sent ?
ex.
e1 writes to e2 - - - while - - - e2 writes to e1 (at the same time)
e1 read () - what... (1 Reply)
Discussion started by: gendaox
1 Replies
8. Programming
How to know whether socket is ready for write.
select(maxfds, (fd_set *)NULL, &writefds, NULL, &timeout);
By default socket is set for write without checking whether it would block or not? If so how do I know my FD is ready for writing. (3 Replies)
Discussion started by: satish@123
3 Replies
9. Shell Programming and Scripting
Hello all,
I have a requirement to read and write to a tcp socket from an HP-UX shell script. I see a /dev/tcp character device on my servers:
crw-rw-rw- 1 root root 72 0x00004f Mar 28 18:37 /dev/tcp
So I believe this is what I should use. The problem is that all the... (2 Replies)
Discussion started by: lupin..the..3rd
2 Replies
10. Programming
hello
I have a C program and I want to read data from a socket ,and especially I want a client to send a .jpg to the server.The problem I face is that no matter what the size of the photo is,my read command seems to read an amount of data and then does nothing.
while(1){
... (4 Replies)
Discussion started by: vlm
4 Replies
aseqnet(1) General Commands Manual aseqnet(1)
NAME
aseqnet - ALSA sequencer connectors over network
SYNOPSIS
aseqnet [remotehost]
DESCRIPTION
aseqnet is an ALSA sequencer client which sends and receives event packets over network. Suppose two hosts connected by network, hostA as
a server and hostB as a client. The ALSA sequencer system must be running on both hosts. For creating the server port, run the following
on hostA:
hostA% aseqnet
sequencer opened: 128:0
Then a user client 128 with port 0 was opened on hostA. (The client number may vary.) For creating the (network-)client port, run aseqnet
with the hostname of the server:
hostB% aseqnet hostA
sequencer opened: 132:0
Now all events sent to hostA:128:0 are transferred to hostB:132:0, and vice versa.
The ports created by aseqnet can be connected arbitrary to other sequencer ports via aconnect(1). For example, to connect hostB:132:0 to a
MIDI output device 65:0:
hostB% aconnect 132:0 65:0
Then events to hostA:128:0 will be delivered to hostB:65:0. The following command plays MIDI on hostB.
hostA% pmidi -p 128:0 foo.mid
The multiple clients may exist simultaneously. If hostC is connected as a client to hostA, events from from hostA are sent to all con-
nected network clients, i.e. hostB and hostC. However, only one connection is allowed from a client to a server.
To disconnect network, stop all clients before server by ctrl-C or sending signal to them. The server will automatically quit.
OPTIONS
-p port
Specify the TCP port number or TCP service name.
-s addr
Subscribe to the given address for read automatically.
-d addr
Subscribe to the given address for write automatically.
-v Verbose mode.
SEE ALSO
aconnect(1), pmidi(1)
AUTHOR
Takashi Iwai <tiwai@suse.de>.
January 1, 2000 aseqnet(1)