0
我正在爲C寫一個基本的代理服務器。gethostbyname,連接到互聯網?
我使用firefox進行測試,並且我已經讓服務器成功接收瀏覽器的請求。
但現在我需要把它們發送到互聯網,以獲得瀏覽器想要的網頁,我猶豫不決。
這是我現在的連接代碼。
我不知道,如果8080端口是正確的,我不知道要放什麼東西了「的gethostbyname」。 這是我希望得到一些建議的部分。
int sock = socket(PF_INET, SOCK_STREAM, 0);
if (sock < 0)
{
perror("socket() failed");
return EXIT_FAILURE;
}
struct sockaddr_in server;
struct hostent * hp;
server.sin_family = PF_INET;
hp = gethostbyname("localhost");
if (hp == NULL)
{
perror("Unknown host");
return EXIT_FAILURE;
}
bcopy((char *)hp->h_addr, (char *)&server.sin_addr, hp->h_length);
int port = 8080;
server.sin_port = htons(port);
if (connect(sock, (struct sockaddr *)&server, sizeof(server)) < 0)
{
perror("connect() failed");
return EXIT_FAILURE;
}
回答我自己question- - >端口應該是80.在瀏覽器請求中可以找到主機名,例如如果你想要http://www.cs.mit.edu/answers.txt,你的主機名是www.cs.mit.edu – Aerovistae 2012-03-14 20:26:27