HTTP代理服务器设置 我在C++中为一个类项目编写了一个HTTP代理服务器。我似乎无法让套接字接受发送到服务器的请求。我下面的例子是:。以下是我的代码片段: memset(&server_addr, 0, sizeof(server_addr))

HTTP代理服务器设置 我在C++中为一个类项目编写了一个HTTP代理服务器。我似乎无法让套接字接受发送到服务器的请求。我下面的例子是:。以下是我的代码片段: memset(&server_addr, 0, sizeof(server_addr)),c++,sockets,http,proxy,C++,Sockets,Http,Proxy,HTTP代理服务器设置 我在C++中为一个类项目编写了一个HTTP代理服务器。我似乎无法让套接字接受发送到服务器的请求。我下面的例子是:。以下是我的代码片段: 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_

HTTP代理服务器设置 <>我在C++中为一个类项目编写了一个HTTP代理服务器。我似乎无法让套接字接受发送到服务器的请求。我下面的例子是:。以下是我的代码片段:

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);
         ...
memset(&server\u addr,0,sizeof(server\u addr));
sockfd=套接字(AF_INET,SOCK_STREAM,0);
服务器地址sin家庭=AF网络;
服务器地址sin地址s地址=htonl(INADDR\U ANY);
服务器地址sin\u端口=htons(PORTNUM);
if(bind(sockfd,(struct sockaddr*)和server_addr,sizeof(server_addr))!=0){
fprintf(标准“绑定失败”);
退出(退出失败);
}
如果(听(sockfd,5)!=0){
fprintf(标准“听力失败”);
退出(退出失败);
}

否则,您不能确定请求已发送吗?您可以使用数据包嗅探工具(如Wireshark)来跟踪传入的数据包。您使用什么工具向服务器发送数据包?当您从系统调用(如
socket()、listen()、bind()、accept()、…
)中收到错误时,您必须打印错误本身,而不仅仅是您自己设计的一些消息。否则,调试就变成了一个纯粹的猜测游戏。使用
perror()
WSAGetLastError()
和朋友。