Sponsored Content
Full Discussion: read from socket
Top Forums Programming read from socket Post 302673697 by achenle on Wednesday 18th of July 2012 09:06:52 AM
Old 07-18-2012
Quote:
Originally Posted by vlm
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.

Code:
while(1){
   if(read(sockdes,&c,sizeof c)<=0){
       perror("read");
       break;
   }
}

The strange thing is that perror doesn't print anything,which means that read is successful,also I checked if I closed the socket in the server code,but I do not.
Your code says to read from the socket until an error is received. No data is not an error, so the read() call just blocks waiting for more data.
 

10 More Discussions You Might Find Interesting

1. Programming

client socket read returns 0 bytes

Hi I have apeculiar problem with sockets. I have a shared object for my client program. when I send a request to the server, it is suppose to process and sends back the result string to the client. For the first request, it is working fine i.e. client sends the req. and gets the... (1 Reply)
Discussion started by: axes
1 Replies

2. Programming

read/write socket error

I have client and server connected. client write and read from csock. server write and read from ssock suppose the server does : .... close(ssock); //send FIN to client othertask(); .... READ ERROR if after the server close() the client does: ... read(csock,...); ...... (2 Replies)
Discussion started by: gio
2 Replies

3. Programming

command line socket read utility

HI I have a messaging s/w daemon(TIBCO rvrd) provided by vendor which will accept connections from various clients and routes messages to the destinations. In order to route it internally uses two ports(one tcp adn one udp). I want to know on which port(tcp/udp) it is transmitting... (3 Replies)
Discussion started by: axes
3 Replies

4. UNIX for Advanced & Expert Users

connect problem for sctp socket (ipv6 socket) - Runtime fail Invalid Arguments

Hi, I was porting ipv4 application to ipv6; i was done with TCP transports. Now i am facing problem with SCTp transport at runtime. To test SCTP transport I am using following server and client socket programs. Server program runs fine, but client program fails giving Invalid Arguments for... (0 Replies)
Discussion started by: chandrutiptur
0 Replies

5. Programming

socket function to read a webpage (socket.h)

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. UNIX for Dummies Questions & Answers

fatal: Read from socket failed: Connection reset by peer

I get this error when I log in through console: "fatal: Read from socket failed: Connection reset by peer". Can you tell me what this is and why it happens, and how to stop it? Thank you. (1 Reply)
Discussion started by: iamnew2solaris
1 Replies

7. IP Networking

Clarification - Setting socket options at the same time when socket is listening

I need clarification on whether it is okay to set socket options on a listening socket simultaneously when it is being used in an accept() call? Following is the scenario:- -- Task 1 - is executing in a loop - polling a listen socket, lets call it 'fd', (whose file descriptor is global)... (2 Replies)
Discussion started by: jake24
2 Replies

8. Shell Programming and Scripting

Read and write to tcp socket

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

9. UNIX for Advanced & Expert Users

Fatal: Read from socket failed: Connection reset by peer [preauth]

Hello, I have recently updated my AIX machine from version 6.1.7.5 to 6.1.9.1 and i noticed that the errpt of the server is full of ssh messages like the one below: sshdprocess_id>]: fatal: Read from socket failed: Connection reset by peer Does anyone knows if this a known bug of the ssh... (15 Replies)
Discussion started by: omonoiatis9
15 Replies

10. IP Networking

Read() time out in socket programming

Hi, When can the read() system call gives timeout error when the same connection worked for writing data to the other end of the socket, while the next call with read() gives timeout error? Can anyone please explain when this kind of situation appears? Thanks, Sanzee (2 Replies)
Discussion started by: sanzee007
2 Replies
sockatmark(3N)															    sockatmark(3N)

NAME
sockatmark() - determine whether a socket is at the out-of-band mark SYNOPSIS
DESCRIPTION
The function determines whether the socket specified by the descriptor is at the out-of-band data mark. If the protocol for the socket supports out-of-band data by marking the stream with an out-of-band mark, the function returns 1 when all data preceding the mark has been read and the out-of-band mark is the first element in the receive queue. The function does not remove the mark from the stream. X/Open Sockets Only is new in RETURN VALUES
Upon successful completion, the function returns a value indicating whether the socket is at an out-of-band data mark: If the protocol has marked the data stream and all data preceding the mark has been read. If there is no mark, or if data precedes the mark in the receive queue. On failure, returns and sets to indicate the error. ERRORS
If fails, is set to one of the following values: The argument is not a valid file descriptor. The argument does not specify a descriptor for a socket. APPLICATION USAGE
The use of this function between receive operations allows an application to determine which received data precedes the out-of-band data and which follows the out-of-band data. There is an inherent race condition in the use of this function. On an empty receive queue, the current read of the location might be at the "mark". However, the system has no way of knowing that the next data segment arriving from the network is carrying the mark. Then returns false, and the next read operation silently consumes the mark. Hence, this function can only be used reliably in one or both ways: o when the application already knows that the out-of-band data has been seen by the system o and that it knows data is waiting to be read at the socket (by using or AUTHOR
was developed by HP and IEEE. SEE ALSO
ioctl(2), pselect(2), recv(2), recvmsg(2), socket(7). STANDARDS CONFORMANCE
sockatmark(3N)
All times are GMT -4. The time now is 08:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy