Network Programming at the Socket Level