套接字性能和开销

4
在性能和开销方面,这两个套接字连接选项中哪一个更有效率?socket_connect家族还是fsockopen
1个回答

3
据我所知,它们的性能基本相同,但初始化后连接的结果不同。例如,fsockopen()将打开连接并立即进入LISTENING状态,而socket_create()只会创建连接,而socket_open()则将其置于LISTENING状态。
你可以说:fsockopen() === socket_open(socket_create(), ADDRESS) 此外,在执行socket_shutdown()socket_close()之后,连接将处于TIME_WAIT状态,这将使套接字等待套接字的接收端断开连接,可能需要一段时间。
总的来说,它们差不多,选择最适合你意图的那个。如果您想预先创建所有套接字,但仅在特定时间连接,请使用socket_create();否则,请使用fsockopen(),因为它更容易使用。 如果您拥有自己的Web服务器,并且没有分发代码的意图,则还可以查看cURL,它本质上与其他两个选项相同,但具有更多内置故障保护。

1
谢谢,cURL支持UDP连接吗? - Frielspak
1
如果你想建立UDP连接,我建议使用fsockopen或socket_open,因为cURL最初是为某些协议(如HTTP、FTP、TELNET等)设计的,而不是用于自定义数据。 - KilZone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接