Wrap-up so far: We've made the multithreaded server demo I hope this file makes sense! Can we go through it for review? Data types: Memory does not inherently have types It's all in how you use it Review: 1 byte: int8_t, uint8_t, char, unsigned char 2 bytes: int16_t, uint16_t, short, unsigned short 4 bytes: int32_t, uint32_t, int, unsigned, float 8 bytes: int64_t, uint64_t, long, unsigned long, size_t, ssize_t, double 16 bytes: This is a bit more complicated. quad is sometimes 80, for example __float128 with gcc IPv6 addresses are this size Boost has one for C++ __int128_t is supposed to work C++ strings: There isn't a very clean way to receive into a C++ string Storage of strings is pretty complicated If you think of one, let me know... Usual way: Receive somewhere else, then make a string Let's send some numbers! If we want to just use little endian: man 3 endian little to host, host to little That function will be nothing on x86 or most ARM