我有一个数据包要通过 Http 连接从客户端 1 发送到客户端 2。让我们将此数据包称为数据包 1。我不希望客户端 2 对数据包 1 有任何回复。我现在想发送数据包 2。如果我尝试将数据包 2 写入连接而不读取为数据包 1 发送的回复,我会得到一个例外。当我对看到的内容不感兴趣时,为什么要阅读数据包 1 的响应?
问问题
135 次
1 回答
4
如果您使用 HTTP,则需要符合HTTP 规范中规定的 HTTP 协议。这表示客户端向服务器发送请求消息,服务器发送响应。客户端需要在连接上发送另一个请求之前完全读取该响应。
因此,如果不读取先前请求的响应,我就无法编写请求吗?
不,那将违反协议。它可能适用于一两个请求,但最终连接的服务器到客户端会“备份”并且事情会中断。HTTP 不应该以这种方式工作。
如果你不想符合 HTTP 的要求,你应该使用不同的协议……或者发明你自己的特定于应用程序的协议。
目前尚不清楚为什么您会立即收到异常。(你没有提到异常是什么,或者你正在使用什么客户端 HTTP 库。)但我希望异常来自 HTTP 实现,告诉你你使用的 API 不正确。
于 2012-10-11T11:37:26.107 回答