在性能和开销方面,这两个套接字连接选项中哪一个更有效率?socket_connect家族还是fsockopen?
fsockopen()
将打开连接并立即进入LISTENING
状态,而socket_create()
只会创建连接,而socket_open()
则将其置于LISTENING
状态。fsockopen() === socket_open(socket_create(), ADDRESS)
此外,在执行socket_shutdown()
和socket_close()
之后,连接将处于TIME_WAIT
状态,这将使套接字等待套接字的接收端断开连接,可能需要一段时间。socket_create()
;否则,请使用fsockopen()
,因为它更容易使用。
如果您拥有自己的Web服务器,并且没有分发代码的意图,则还可以查看cURL,它本质上与其他两个选项相同,但具有更多内置故障保护。