Re: UDP checksum problem
- From: r3gis <regis44@xxxxxxxxx>
- Date: Thu, 23 Aug 2007 08:07:33 -0000
On Aug 20, 11:58 pm, Jack Snodgrass <jacks_temp_id_bf2...@xxxxxxxxxxx>
wrote:
On Mon, 20 Aug 2007 14:00:25 +0000, r3gis wrote:
Hi !
For some strange reason I cant get correct checksums when I am sending
packets through simple UDP socket.Can anyone tell me what I am doing
wrong ?
The code is following :
int sendUDP(char* buf,int size,char* ip_str,char* port_str) {
int sockfd, portno, ip;
struct sockaddr_in serv_addr;
sockfd = socket(PF_INET, SOCK_DGRAM,0); if (sockfd < 0)
error("ERROR opening socket");
memset((void*)&serv_addr,0,sizeof(struct sockaddr_in));
serv_addr.sin_family=PF_INET;
portno=atoi(port_str);
serv_addr.sin_port = htons(portno);
serv_addr.sin_addr.s_addr=inet_addr(ip_str);
if(serv_addr.sin_addr.s_addr==-1)
error("wrong ip");
int len=sendto(sockfd,buf,size,0,(struct
sockaddr*)&serv_addr,sizeof(serv_addr));
close(sockfd);
return len;
}
I didn't look at this too close.... just wanted to clarify
something first.... you don't have anything to do with the
CRC... that's a built-in feature... ( how ever you want to
phrase it ) are you 100% sure your getting a bad crc error...
where are you seeing this?
jack
--
D.A.M. - Mothers Against Dyslexia
seehttp://www.jacksnodgrass.comfor my contact info.
jack - Grapevine/Richardson
I have checked this in Wireshark and tcpdump. They both indicate bad
CRC for all UDP packets.Fortunately I have been able to solve this .
It appeared that is was caused by the inet_addr function O_o , when I
have changed it to inet_aton the CRC is calculated correctly .
Peter
.
- Follow-Ups:
- Re: UDP checksum problem
- From: Tauno Voipio
- Re: UDP checksum problem
- References:
- UDP checksum problem
- From: r3gis
- Re: UDP checksum problem
- From: Jack Snodgrass
- UDP checksum problem
- Prev by Date: Re: howto check ip address in shell without using ifconfig?
- Next by Date: Re: The OpenSSL API
- Previous by thread: Re: UDP checksum problem
- Next by thread: Re: UDP checksum problem
- Index(es):
Relevant Pages
|