+#include <msp/io/print.h>
#include <msp/net/inet6.h>
#include <msp/net/resolve.h>
#include "client.h"
using namespace std;
using namespace Msp;
-#include <msp/io/print.h>
-
NetworkInterface::NetworkInterface(Xinema &x):
xinema(x)
{
Net::SockAddr *peer_addr;
char rbuf[1024];
discover_sock->recvfrom(rbuf, sizeof(rbuf), peer_addr);
- IO::print("Discovery beacon received from %s\n", peer_addr->str());
discover_sock->sendto("xinema", 6, *peer_addr);
delete peer_addr;
}
{
while(!done)
{
- network.event_disp.tick();
+ try
+ {
+ network.event_disp.tick();
+ }
+ catch(const std::exception &e)
+ {
+ IO::print(IO::cerr, "Unhandled exception in network thread: %s\n", e.what());
+ }
for(list<Client *>::iterator i=network.clients.begin(); i!=network.clients.end(); )
{