[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Socket question? Network unreachable



Brian Hutchinson wrote:
> 
> I have a simple socket program.  I've compiled it with gcc on
> Debian 1.1 (kernel 2.0.29) and Red Had (Biltmore 2.0.30) and I keep
> getting Network is unreachable.
> 
> Running gdb reveals the connect call is not working.
> After stepping over the connect, errno = 101.  "Network is unreachable" is
> displayed by perror and the program exits.
> 
> This is a small program that runs fine under SunOS 4.1.3.  The only thing
> I had to do to the program was change the include paths from sys/ to linux/.
> 
> My Linux box IP 140.117.43.69
> Netmask         255.255.224.0
> Network         140.117.32.0
> Broadcast       140.117.63.225
> 
> Can anyone give me a clue as to what the problem might be.  I don't know what
> to look for at the moment.  The only thing I can think of is the above IPs
> are not correct.  I can ping and telnet to the target which has the server this
> socket program is to connect to.  I look in the arp table and it has a complete
> entry.  Would arp be able to figure out everything if the above IPs we not right?
> 
> Thanks in advance for any advice.

When you set up your sockaddr_in do you make sure to use htonl() to
convert the IP address to network byte order? I bet you don't! Your
program would work on a Sun because Sparc uses big-endian numbers
(which are therefore *already* in network byte order) while Intel x86
uses little-endian numbers which must be re-ordered using htonl().

-- 
Jens B. Jorgensen
jjorgens@bdsinc.com


--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: