Вы должны объявить addr_len как socklen_t, а не int.
То есть первые несколько строк в main должны выглядеть примерно так:
int sock;
int bytes_read; // <- note how this is now on its own line!
socklen_t addr_len; // <- and this too, with a different type.
char recv_data[1024];
... Оставляя всеиначе как бы.