summaryrefslogtreecommitdiff
path: root/docs/tutorials/008/broadcast_client.cpp
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-09-24 01:23:45 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-09-24 01:23:45 +0000
commit971b5fef4c0790745d71d7493090c54af9fc3b60 (patch)
treeb9031b2eb4584c797d558a208156cb50296c257e /docs/tutorials/008/broadcast_client.cpp
parent39c67e8460275499ffcaf2ed95fe4df6cd157f28 (diff)
downloadATCD-pos_avsvc_split.tar.gz
This commit was manufactured by cvs2svn to create tagpos_avsvc_split
'pos_avsvc_split'.
Diffstat (limited to 'docs/tutorials/008/broadcast_client.cpp')
-rw-r--r--docs/tutorials/008/broadcast_client.cpp80
1 files changed, 0 insertions, 80 deletions
diff --git a/docs/tutorials/008/broadcast_client.cpp b/docs/tutorials/008/broadcast_client.cpp
deleted file mode 100644
index c514ca000ef..00000000000
--- a/docs/tutorials/008/broadcast_client.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-// $Id$
-
-#include "ace/SOCK_Dgram_Bcast.h"
-#include "ace/INET_Addr.h"
-
-static const u_short PORT = ACE_DEFAULT_SERVER_PORT;
-
-int
-main (int argc,char *argv[])
-{
- ACE_INET_Addr local ((u_short) 0);
-
- /* Instead of creating the ACE_SOCK_Dgram we created last time,
- we'll create an ACE_SOCK_Dgram_Bcast. "Bcast" means, of course,
- "Broadcast". This ACE object is clever enough to go out to the OS
- and find all of the network interfaces. When you send() on a
- Dgram_Bcast, it will send the datagram out on all of those
- interfaces. This is quiet handy if you do it on a multi-homed
- host that plays router... */
- ACE_SOCK_Dgram_Bcast dgram;
-
- if (dgram.open (local) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "datagram open"),
- -1);
-
- char buf[BUFSIZ];
-
- sprintf (buf, "Hello World!");
-
- /* The only other difference between us and the directed client is
- that we don't specify a host to receive the datagram. Instead, we
- use the magic value "INADDR_BROADCAST". All hosts are obliged to
- respond to datagrams directed to this address the same as they
- would to datagrams sent to their hostname.
-
- Remember, the Dgram_Bcast will send a datagram to all interfaces
- on the host. That's true even if the address is for a specific
- host (and the host address makes sense for the interface). The
- real power is in using an INADDR_BROADCAST addressed datagram
- against all interfaces. */
-
- ACE_INET_Addr remote (PORT,
- INADDR_BROADCAST);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) Sending (%s) to the server.\n",
- buf));
-
- if (dgram.send (buf,
- ACE_OS::strlen (buf) + 1,
- remote) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "send"),
- -1);
-
- if (dgram.recv (buf,
- sizeof (buf),
- remote) == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "%p\n",
- "recv"),
- -1);
-
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) The server said: %s\n",
- buf));
-
- /* Using the "remote" object instance, find out where the server
- lives. We could then save this address and use directed datagrams
- to chat with the server for a while. */
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) The server can be found at: (%s:%d)\n",
- remote.get_host_name(),
- PORT));
-
- return 0;
-}