我正在尝试使用curl建立持久连接,就像websockets ..一旦建立连接,客户端和服务器每次只发送小文本消息而不是新的http请求。
对于websocket请求,我能够完成握手并从服务器接收消息(连接保持打开状态)。唯一的问题是卷曲不会发送任何超出'HTTP / 1.1'标题。
每次运行curl_exec时,curl都会发送“GET / HTTP / 1.1”。一旦建立连接就不需要这样做。
我可以使用curls自定义请求选项来发送我的消息,但这会形成像“message / HTTP / 1.1”这样的标题。
如果有一种方法可以从标题中消除“HTTP / 1.1”,那将会很棒。
我知道php套接字是一个更好的选择,但我只是好奇是否有一种hacky方式来实现这一点(也许是websocket客户端)使用curl ..
有什么想法吗?
答案 0 :(得分:0)
Curl的设计考虑了http协议,它是无状态的(你打开连接,发送请求,等待回复并关闭连接)。
但是,如果需要,可以使用curl。您需要使用CURLOPT_CONNECT_ONLY