Ejemplo n.º 1
0
/*\brief Create and send single datagram
  \param socket broadcast over this socket
  \param datagram_no datagram identifier
  \return -1 if error, 0 if OK
*/
int send_datagram (ACE_SOCK_Dgram_Bcast &socket, int datagram_no)
{
    static char dgram_buffer[BUFSIZ];

    ACE_OS::snprintf (dgram_buffer, sizeof(dgram_buffer),
                      "Datagram %d", datagram_no);
    if (socket.send (dgram_buffer,
                     ACE_OS::strlen (dgram_buffer) + 1,
                     dgram_port) < 0 )
        ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("%p\n"),
                           ACE_TEXT ("Cannot broadcast datagram")), -1);
    else
        ACE_DEBUG ((LM_INFO, ACE_TEXT ("%C sent\n"), dgram_buffer));
    return 0;
}
Ejemplo n.º 2
0
int
ACE_TMAIN (int argc, ACE_TCHAR *argv[])
{
  program_name = argv[0];
  parse_args (argc, argv);

  ACE_SOCK_Dgram_Bcast sd (ACE_Addr::sap_any);

  static char buf[] = "testing socket broadcast service";

  if (sd.send (buf, ACE_OS::strlen (buf), broadcast_port_number) == -1)
    ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "can't send broadcast"), -1);

  return 0;
}
Ejemplo n.º 3
0
int SendBroadcast()
{
	const char* message = "this is a message!\n";

	ACE_INET_Addr		 sender	(27016, ACE_LOCALHOST);
	ACE_SOCK_Dgram_Bcast udp	(sender);

	unsigned short listenerPort = 27015;

	ssize_t sent = udp.send(message, ACE_OS_String::strlen(message) + 1, listenerPort);

	udp.close();

	if (sent == -1)
	{
		ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("%p\n"), ACE_TEXT("send")), -1);
	}

	cout << "sent:     " << sent << " bytes" << endl;

	return 0;
}