UDP server recvfrom() always returns -1? :(


Posted on 16th Feb 2014 07:03 pm by admin

Hello all,
I am getting a very strange error in my code :( I am writing a server application in C, to send and receive UDP packets to/from a client. Right now, im just running a loop in which the server receives packets using recvfrom() however.... the function seems to block and everytime I send it something, it sets errno to "resource temporarily unavailable" which is strange, cause it blocks until I send something, meaning that it knows something came no? However, recvfrom always returns -1 This is how I initialized the socket:

//struct timeval tv;

if((s = socket(AF_INET, SOCK_DGRAM, 0))==-1)
return 0;

bzero(&si_me,sizeof(si_me));
si_me.sin_family = AF_INET;
si_me.sin_port = htons(PORT);
si_me.sin_addr.s_addr = htonl(INADDR_ANY);

/*** Set socket timeout ***
tv.tv_sec = 1;
tv.tv_usec = 0;
if (setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof(tv)) < 0)
{
printf("Couldn't set socket timeoutn");
return 0;
}*/

if(bind(s,(struct sockaddr*) &si_me, sizeof(si_me))==-1)
return 0;

return 1;

and then I ran:
do
{
done = recvData();
printf("Received %d n", done);

}while(done == 0);

with recvData() being:

int recvData(void)
{
if (recvfrom(s, (char*)&buf, UDP_BUFFER_LEN, 0, (struct sockaddr*) &si_other_comp, &slen)==-1)
{
printf("Couldn't read socket (%s)n",strerror(errno));
return 0;
}

return 1;
}

so, program does nothing until it gets a packet, then says it cant read it and then continues doing nothing until it gets another packet.... any ideas?

No comments posted yet

Your Answer:

Login to answer
125 Like 16 Dislike
Previous forums Next forums
Other forums

Certain files upload, while others do not
I want to read the data from an uploaded file. Not sure why, but it only uploads for certain files.

Bit manipulation program with binary operations
My homework is to create a program to scan in and add binary numbers and print them like so

array & querys help/advice.
Ok so here goes , I have a mysql database and basically here's what I need to do.

// foreach

add to sql result
ok see rite now my sites hit counter is counted from the mysql visitor log i need to clear it aft

Saving data from a form into a file
Hey everybody,

Sorry, I am really new to PHP coding and such but a project kind of got thrust

How to submit a form to the same page?
I have a table containing information about books in my library and this table has the following col

Using two $_POST Function / Switch () statements, second does not work.
Hi all. I’m new to php and am having a problem getting $_POST Function / switch () to work. I

Session login issue
I'm wondering how to fix a problem I'm having with a session-based login system

Say I go to h

UTL File problem
Hi
I have a file in certain path with the following permissions (The file is a dummy file witho

Table sorting
Hi,

I'm trying to modify the following in order to make the output table sorted alphabeticall

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Pinterest RSS



Play Free Quiz and Win Cash