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-を回答 - > portは80でなければなりません。hostnameはブラウザの要求の中にあります。 http://www.cs.mit.edu/answers.txtが必要な場合、ホスト名はwww.cs.mit.eduです – Aerovistae