Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c语言中理解持久http连接时遇到问题#_C#_Web Services_Http_Client Server - Fatal编程技术网

C# 在c语言中理解持久http连接时遇到问题#

C# 在c语言中理解持久http连接时遇到问题#,c#,web-services,http,client-server,C#,Web Services,Http,Client Server,我不太明白持久连接到底是如何工作的 所以keepalive属性是默认设置的,据我所知,这应该可以保持连接打开 所以现在我通过一个HTTPWebRequest的帖子发送我的数据。 但每次我给收件人寄东西时,我都会这样做 所以是这样的, 将数据从客户端发布到服务器,返回对发布的响应 但接下来我只发送另一个帖子,而不是使用我已经打开的连接。所以我觉得我发送的信息比实际需要的要多。 我不能只打开一次连接,然后通过此连接继续通信吗 很抱歉,我对这个主题的理解很差,但这是我第一次真正研究网络协议 提前谢谢

我不太明白持久连接到底是如何工作的

所以keepalive属性是默认设置的,据我所知,这应该可以保持连接打开

所以现在我通过一个HTTPWebRequest的帖子发送我的数据。 但每次我给收件人寄东西时,我都会这样做

所以是这样的, 将数据从客户端发布到服务器,返回对发布的响应

但接下来我只发送另一个帖子,而不是使用我已经打开的连接。所以我觉得我发送的信息比实际需要的要多。 我不能只打开一次连接,然后通过此连接继续通信吗

很抱歉,我对这个主题的理解很差,但这是我第一次真正研究网络协议

提前谢谢


Daniel

KeepAlive
被添加到HTTP协议中以提高服务器端性能

HTTP通常是一种无状态协议。所有状态都保留为cookie或服务器会话。如果
KeepAlive
设置为true,则客户端和服务器可能会保持其基础TCP连接处于活动状态

通常为
KeepAlive
设置一个超时,这样,如果客户端没有发出任何其他请求,该连接就会关闭

此功能通常在不同的平台上以不同的方式实现,例如,我看到Java实现中存在问题,它们不遵守超时,服务器关闭连接,因此客户端再次连接的尝试失败,因为它假定连接仍然打开


请参阅RFC文档。

如果服务器支持,您可以重新使用该连接。。。。包括您和服务器之间的任何代理。这就是它有时会掉下来的地方。它被附加到HTTP1.0上,并正式添加到1.1中

基本上,您的客户机会用一个特殊的头询问“我可以保持此连接处于活动状态吗”,然后如果服务器支持它,它会回答“是”,然后客户机可以在同一套接字上发送更多请求

您的客户端代码也必须支持此功能。净应该是好的