
[英]Sending data from client to server response_tak = client.request(req) I want to add timeout functionality if response doesn't come in particular time
[英]How can I detect if http request come from same client?
我正在制作 http/1.1 服务器以更好地了解网络服务器的工作原理。
我看到 http/1.1 版本支持“keep-alive”作为网络改进的默认设置,所以我试图弄清楚如何实现它......
例如,如果客户端访问一个页面,并发送这两个请求(第一次用于 index.html,另一个用于 favicon),我的服务器每个请求都会创建两个套接字,无论来自哪个客户端。
select(...);
FD_ISSET(fd, &read_set);
if (fd == server_socket)
{
// here, i want to add code
// if request come from same client and socket is still alive,
// I want to reuse it without creating new socket again.
...
// else if request is another new client, then make connection
new_socket = accept(fd, (sockaddr *)&new_address, &new_len);
}
如何检测客户端是否是同一个客户端? 谢谢阅读。
我认为你混合了两件事:服务器套接字用于接受传入连接。 new_socket
用于从中读取数据。 如果要处理keep-alive
则不应关闭new_socket
而是使用select
等待该套接字上的数据
问题未解决?试试以下方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.