Async::UdpSocket Class Reference

A class for working with UDP sockets. More...

#include <AsyncUdpSocket.h>

List of all members.

Public Member Functions

Public Attributes


Detailed Description

A class for working with UDP sockets.

Author:
Tobias Blomberg
Date:
2003-04-26
This class is used to work with UDP sockets. An example usage is shown below.

#include <iostream>
#include <AsyncCppApplication.h>
#include <AsyncUdpSocket.h>
#include <AsyncIpAddress.h>

using namespace std;
using namespace Async;

class MyClass : public sigc::trackable
{
  public:
    MyClass(void)
    {
      sock = new UdpSocket(12345);
      sock->dataReceived.connect(mem_fun(*this, &MyClass::onDataReceived));
      IpAddress addr("127.0.0.1");
      sock->write(addr, 12345, "Hello, UDP!\n", 13);
    }
    
    ~MyClass(void)
    {
      delete sock;
    }

  private:
    UdpSocket * sock;
    
    void onDataReceived(const IpAddress& addr, void *buf, int count)
    {
      cout << "Data received from " << addr << ": " << static_cast<char *>(buf);
      Application::app().quit();
    }
};

int main(int argc, char **argv)
{
  CppApplication app;
  MyClass my_class;
  app.exec();
}
Examples:

AsyncUdpSocket_demo.cpp.

Definition at line 124 of file AsyncUdpSocket.h.


Constructor & Destructor Documentation

Async::UdpSocket::UdpSocket ( uint16_t  local_port = 0,
const IpAddress bind_ip = IpAddress() 
)

Constructor.

Parameters:
local_port The local port to use. If not specified, a random local port will be used.
bind_ip Bind to the interface with the given IP address. If left empty, bind to all interfaces.

Async::UdpSocket::~UdpSocket ( void   ) 

Destructor.


Member Function Documentation

int Async::UdpSocket::fd ( void   )  const [inline]

Get the file descriptor for the UDP socket.

Returns:
Returns the file descriptor associated with the socket or -1 on error

Definition at line 167 of file AsyncUdpSocket.h.

bool Async::UdpSocket::initOk ( void   )  const [inline]

Check if the initialization was ok.

Returns:
Returns true if everything went fine during initialization or false if something went wrong
This function should always be called after constructing the object to see if everything went fine.

Definition at line 149 of file AsyncUdpSocket.h.

bool Async::UdpSocket::write ( const IpAddress remote_ip,
int  remote_port,
const void *  buf,
int  count 
)

Write data to the remote host.

Parameters:
remote_ip The IP-address of the remote host
remote_port The remote port to use
buf A buffer containing the data to send
count The number of bytes to write
Returns:
Return true on success or false on failure


Member Data Documentation

sigc::signal<void, const IpAddress&, void *, int> Async::UdpSocket::dataReceived

A signal that is emitted when data has been received.

Parameters:
ip The IP-address the data was received from
buf The buffer containing the read data
count The number of bytes read

Definition at line 175 of file AsyncUdpSocket.h.

sigc::signal<void, bool> Async::UdpSocket::sendBufferFull

A signal that is emitted when the send buffer is full.

Parameters:
is_full Set to true if the buffer is full or false if the buffer full condition has been cleared

Definition at line 182 of file AsyncUdpSocket.h.


The documentation for this class was generated from the following file:
Generated on Mon Mar 25 18:14:45 2013 for Async by  doxygen 1.4.7