Problems with file descriptor


 
Thread Tools Search this Thread
Top Forums Programming Problems with file descriptor
# 8  
Old 05-06-2005
It does not work that way. You can not write an EOF to a socket any more that you can write EOF to a file. EOF is not a character. You need to close() or shutdown() the socket. Only then will the other side see an EOF condition.
# 9  
Old 05-07-2005
I have a question. If doing a file transfer, shouldn't there be acks sent back to the source, so that the source can send the next datablock?

I think that a sequence like this would work:

file dest:send ack. file src: wait for ack.
file src: get ack. send data. file dest: wait for data
file dest: get data. send ack. ..... so on.

if at any point, if the file src doesn't get ack, it can resend the data, and we could use normal read and write on the sockets.
# 10  
Old 05-07-2005
FWIW - some OSes have an actual EOF character. DOS uses ascii 26 for EOF for "text" files, for example.

I think that's where the idea of an EOF character came from.
# 11  
Old 05-09-2005
Yes I made a mistake, It doesn't send EOF at all, sorry for my bad english!
But as a matter of fact if you build a client and a server only with those two function(send_file and get file) it works, try to do so.
I took the example from "The C programming language" book. Actually the example was copying between 2 files or from stdin to a file(I can't remember now...), but since a socket is threated like a low level I/O descriptor(that with function similar to system call not FILE *) if you replace the descriptor with the socket it should work the same. I tried and it worked so, why? What's wrong with my reasoning?
Any comment?
Thanx everybody.
Ciao
# 12  
Old 05-09-2005
The fact is that when you run the 2 function alone, the send_file function finishes while the get_file function waits. When send_file finishes immediatly halt the program so closing sockets! That's why get_file function finishes as well, because it sees the socket's closure .
Sorry for the banal question!
And thanx for all answers.
Ciao
Matteo
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

redirecting with file descriptor

hello, Someone can help me with redirectors? I am writing this script in bash enviroment on Fedora: exec 4<> /dev/tcp/10.10.11.30/5000 #open socket in input/output strings<&4 >file.txt & I send file descriptor 4 to string command to purge data stream from special char while come from... (3 Replies)
Discussion started by: rattoeur
3 Replies

2. Shell Programming and Scripting

Variable File Descriptor

Greetings. I am happily using constructs like the following; I have set -x to show fine distinctions. $ exec 4> afile + exec + 4> afile $ print -u4 This is the first line in afileAs you can see from the -x expansion, the shell performed the exec command and redirected file descriptor to... (4 Replies)
Discussion started by: rpaskudniak
4 Replies

3. Shell Programming and Scripting

Help with File Descriptor in a While loop

Hi, I am trying to read a file line-by-line in a while loop, and perform some tasks which involves non-interactive SSH to a remote server. The code looks something like this -- #!/usr/bin/ksh export myFile=/path/to/my/file.load while read line do do something ## Adding the SSH... (2 Replies)
Discussion started by: Subu1987
2 Replies

4. Shell Programming and Scripting

file descriptor KSH

Hello, How can i use file descriptor in a script to read 2 files at the same time and extract line 200 from file 1 and line 500 from file 2. Thanks. (6 Replies)
Discussion started by: LiorAmitai
6 Replies

5. UNIX for Dummies Questions & Answers

File Descriptor

Hi What the below path contains? /proc/<pid>/fd (1 Reply)
Discussion started by: siba.s.nayak
1 Replies

6. Shell Programming and Scripting

File Descriptor

Hello All, Im opening a file desciptor in perl and sending data using print CMD "$xyz". is there a limit to the length of the string that I can give to this CMD at a time. (3 Replies)
Discussion started by: rimser9
3 Replies

7. UNIX for Advanced & Expert Users

File Descriptor Table

Im working on writing a small operating system. I am currently working on implementing dup, dup2, pipe, and close and I need to implement some type of file descriptor table in my PCB. I was wondering if there is anyone who is familiar with linux/unix implementation of these tables who could... (6 Replies)
Discussion started by: Ashaman0
6 Replies

8. Programming

File descriptor constant

I have a requirement to close all the file descriptors from 3 to 1024 for a particular application. Right now, this is how I do it .. for ( int i = 3 ; i <= 1024; ++i ) close(i); The change I am looking at is, I want to do away with the number 1024 and replace it with a constant which... (4 Replies)
Discussion started by: vino
4 Replies

9. UNIX for Dummies Questions & Answers

File Descriptor Help

What is a file descriptor in Unix?? How to find a file descriptor of a file in Unix?? Does it have anything to do with the Inode numbers?? (3 Replies)
Discussion started by: rahulrathod
3 Replies

10. UNIX for Dummies Questions & Answers

file activity (open/closed) file descriptor info using KORN shell scripting

I am trying to find a way to check the current status of a file. Such as some cron job processes are dependent on the completion of others. if a file is currently being accessed / modified or simply open state I will wait until it is done being processed before attempting the next process on that... (3 Replies)
Discussion started by: Gary Dunn
3 Replies
Login or Register to Ask a Question