const char sendbuffer[] = "hello world!";
IPv6AddressBytes bytes;
bytes.bytes[15] = 1;
- socket6.Send(Address(&bytes, port), sendbuffer, sizeof(sendbuffer));
+
+ try {
+ socket6.Send(Address(&bytes, port), sendbuffer, sizeof(sendbuffer));
- sleep_ms(50);
+ sleep_ms(50);
- char rcvbuffer[256];
- memset(rcvbuffer, 0, sizeof(rcvbuffer));
- Address sender;
- for(;;)
- {
- int bytes_read = socket6.Receive(sender, rcvbuffer, sizeof(rcvbuffer));
- if(bytes_read < 0)
- break;
+ char rcvbuffer[256];
+ memset(rcvbuffer, 0, sizeof(rcvbuffer));
+ Address sender;
+ for(;;)
+ {
+ int bytes_read = socket6.Receive(sender, rcvbuffer, sizeof(rcvbuffer));
+ if(bytes_read < 0)
+ break;
+ }
+ //FIXME: This fails on some systems
+ UASSERT(strncmp(sendbuffer, rcvbuffer, sizeof(sendbuffer))==0);
+ UASSERT(memcmp(sender.getAddress6().sin6_addr.s6_addr, Address(&bytes, 0).getAddress6().sin6_addr.s6_addr, 16) == 0);
}
- //FIXME: This fails on some systems
- UASSERT(strncmp(sendbuffer, rcvbuffer, sizeof(sendbuffer))==0);
- UASSERT(memcmp(sender.getAddress6().sin6_addr.s6_addr, Address(&bytes, 0).getAddress6().sin6_addr.s6_addr, 16) == 0);
+ catch (SendFailedException e) {
+ errorstream << "IPv6 support enabled but not available!" << std::endl;
+ }
+
}
// IPv4 socket test