L'ho provato a modificare per linux...
Sembra funzionare...Pero' e' meglio che qualcuno piu' esperto gli dia un occhiata...

codice:
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <netdb.h>
#include <stdio.h>

int main()  {
	struct sockaddr_in sock;
	struct hostent *ip;
	char msg_enter[] = "GET /userAgent.nXs HTTP/1.1\nHost: nexussoftware.altervista.org\n\n"; // RICHIESTA FILE
	char msg_response[] = "\0";
	int s;
	

	s = socket(AF_INET, SOCK_STREAM, 0);
	ip = gethostbyname("nexussoftware.altervista.org"); // INDIRIZZO
	memset(&sock, 0, sizeof(sock));
	sock.sin_family = AF_INET;
	sock.sin_port = htons(80); // PORTA
	memcpy(&sock.sin_addr, ip->h_addr, ip->h_length);
	connect(s, (struct sockaddr *)&sock, sizeof(sock));
	printf("Inviato al server:\n\n%s\n", msg_enter);
	send(s, msg_enter, strlen(msg_enter) + 1, 0);
     printf("Ricevuto dal server:\n\n"); 

	while(recv(s, msg_response, 1, 0) != 0) {
            printf("%c", msg_response[0]);
     }	
	shutdown(s, 2);
	return 0;
}