PHP套接字I/O方法

FtD*_*Xw6 5 php sockets

在PHP中读/写TCP/IP套接字的首选方法是什么?有许多方法可以做到这一点,包括:

  • fread()fwrite()
  • fgets()fputs()
  • file_get_contents()file_put_contents()
  • stream_get_contents()
  • stream_socket_recvfrom()stream_socket_sendto()
  • 可能还有其他几个我没遇到的......

我意识到fgets()并且fputs()操作有点不同(通过线而不是任意数据块),但我真的不理解其他方面的差异以及哪种方法最适合用于何种目的.

编辑:socket_recv()socket_send().

编辑#2:socket_read()socket_write().

web*_*ave 3

通过许多这些函数,我们可以指定偏移量和最大长度,从而在它们之间提供大量重叠(和混淆)。不过,一般来说,它们的使用方式如下:

  • @drrcknlsn 因为这就是 PHP 的出名之处。引用我们自己的 Jeff Atwood 的话,PHP“就像关键字和函数工厂的虚拟爆炸”。(http://www.codinghorror.com/blog/2008/05/php-sucks-but-it-doesnt-matter.html) 有很多方法,因为人们写了很多不同的方法来做同样的事情。 (3认同)