我正在用 C 语言编写一个基本的代理服务器来上课。
我正在使用 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;
}