Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!haven!adm!xadmx!bush%prg.oxford.ac.uk@nsfnet-relay.ac.uk From: bush%prg.oxford.ac.uk@nsfnet-relay.ac.uk (Mark Bush) Newsgroups: comp.unix.wizards Subject: sockets Message-ID: <20673@adm.BRL.MIL> Date: 21 Aug 89 23:51:01 GMT Sender: news@adm.BRL.MIL Lines: 46 I've been trying to get an application running and decided that the most suitable implementation would be using broadcasting over datagram sockets. I've produced client/server programs that communicated via sockets before but then the client process connected to a server running on a specified host. I now want to access information in general across a network. (I'm using Sun3s running SunOS 3.5) The first step...RTFM: From "Networking on the Sun Workstation", "IPC Primer": To send a broadcast message, an Internet datagram socket should be created. Nothing could be easier. and at least a port number should be bound to the socket. Again, this is clear and straightforward. Then the message should be addressed as: dst.sin_family = AF_INET; inet_makeaddr(net, INADDR_ANY); dst.sin_port = DESTPORT; Say what? I can find out what value `net' should be, no problem...this is well documented, but doesn't `inet_makeaddr()' return an address? Well, needless to say, I tried what they said and got nothing. Perhaps that line should have said something like: dst.sin_addr = inet_makeaddr(net, INADDR_ANY); I tried that, too. Low and behold I actually managed to get sendto(s, buf, buflen, 0, &dst, sizeof(dst)); to return the same value as buflen!!! What I want to know is: where did it go? My server process is continually `polling' its port...in fact it does a `recvfrom' on its port (DESTPORT) and never returns. I get the feeling that I'm doing something grossly stupid, but what??!!!?? Mark Bush bush%uk.ac.oxford.prg@ac.uk Teaching Support Programmer bush%prg.oxford.ac.uk@nsfnet-relay.ac.uk OUCL ...!uunet!mcvax!ukc!ox-prg!bush