HTTP代理服务器设置

时间:2014-02-09 23:11:39

标签: c++ sockets http proxy

我在C ++中为类项目编写HTTP代理服务器。我似乎无法让套接字接受发送到服务器的请求。我跟随此示例:http://www.tutorialspoint.com/unix_sockets/socket_server_example.htm。这是我的代码片段:

memset(&server_addr, 0, sizeof(server_addr));
sockfd = socket(AF_INET, SOCK_STREAM, 0);

server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
server_addr.sin_port = htons(PORTNUM);

if (bind(sockfd, (struct sockaddr*) &server_addr, sizeof(server_addr)) != 0)    {
    fprintf(stderr, "binding failure");
    exit(EXIT_FAILURE);
}

if(listen(sockfd, 5) != 0) {
    fprintf(stderr, "listening failure");
    exit(EXIT_FAILURE);
}
else cout << "Listening for connections on port " << PORTNUM << "\n";

//------------END SERVER SETUP--------------------------


//-----------LISTEN LOOP--------------------
char request_buffer[1024];
ssize_t bytes_recieved;
HttpRequest request;
string errorMessage;

while(1)    {
    cout << "say something";
    socklen_t client_addr_len = sizeof(client_addr);
    connfd = accept(sockfd, (struct sockaddr*)&client_addr, &client_addr_len);
         ...

当我运行服务器并将其设置为HTTP请求(例如GET http://www.google.com HTTP / 1.1)时,没有响应,因为套接字从不接受此连接。

我做错了什么?代码编译正确,我知道套接字绑定到端口并侦听连接。然而,它只是陷入无限循环,等待连接。

感谢您的帮助!

0 个答案:

没有答案
相关问题