Networking Forums

Networking Forums > Computer Networking > Linux Networking > problem with recvfrom

Reply
Thread Tools Display Modes

problem with recvfrom

 
 
Omega
Guest
Posts: n/a

 
      11-21-2005, 08:17 PM
I have a problem with recvfrom(). I get a message and no error occurs,
but the struct sockaddr* from is not filled with sender's data.

The client's source code:

#include "reversi.h"
-------------------------------------------------------------------
int main() {
int socket_id = socket(PF_INET,SOCK_DGRAM,0);
struct sockaddr_in adres;
adres.sin_family = PF_INET;
adres.sin_port = htons(PORT_NR);
adres.sin_addr.s_addr = inet_addr("127.0.0.1");
cli_msg msg;
msg.type = CMT_LOGIN;
sendto(socket_id,&msg,sizeof(cli_msg),0,(struct sockaddr*)&adres,sizeof
(struct sockaddr));
printf("wyslalem na 127.0.0.1\n");
ser_main_msg ser_msg;
unsigned int rozmiar;
recvfrom(socket_id,&ser_msg,sizeof(ser_main_msg),0 ,(struct sockaddr*)
&adres,&rozmiar);
printf("otrzymalem cos a adresu %s",inet_ntoa(adres.sin_addr));
printf("type = %d\n",ser_msg.type);
return 1;
}
-------------------------------------------------------------------
All needed header files are included in reversi.h

Server is rather long, but the inportant part is, the socket is datagram
socket:
-------------------------------------------------------------------
bzero(&klient1, sizeof(struct sockaddr_in));
int ret = recvfrom(sockid,&msg_kli1,sizeof(cli_msg),0,(struc t sockaddr*)
&klient1,&rozmiar1);
printf("received %s, %d, %d\n",inet_ntoa(klient1.sin_addr), ret,
errno);
if (msg_kli1.type == CMT_LOGIN) {
msg.type = SMMT_WAIT;
sendto(sockid,&msg,sizeof(ser_main_msg),0,(struct sockaddr*)
&klient1,rozmiar1);
printf("send SMMT_WAIT to address %s\n",inet_ntoa
(klient1.sin_addr));
kli_nr++;
-------------------------------------------------------------------
serwer should print:
received 127.0.0.1, 16, 0
send SMMT_WAIT to addrress 127.0.0.1

but it prints:
reveived 0.0.0.0., 16, 0
send SMMT_WAIT to address 0.0.0.0

It happens only when I run the program on my computer, when I tried on
friends computer problem doesn't occur. Any ideas?

Omega
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
python recvfrom not working when on different ip ambu.sreedharan Linux Networking 1 06-16-2011 05:52 PM
Socket: recvfrom sathya Linux Networking 1 05-07-2009 01:08 PM
Multicast recvfrom not working?????? cs3266@gmail.com Linux Networking 3 06-26-2006 04:17 PM
recvfrom() unblocking.. how to do it? manu Linux Networking 4 04-21-2006 08:12 PM
Re: IPV4 recvfrom() thru which network interface Paul Chitescu Windows Networking 0 10-28-2003 11:06 AM



1 2 3 4 5 6 7 8 9 10 11