对php的socket没有研究,也许你可以参考下c下面的代码。

解决方案 »

  1.   

    检测接受的数据是不是\r或\n
    asc编码是10和13
      

  2.   

    多谢楼上朋友指教可是,socket_read 使用 PHP_NORMAL_READ 标签后直接返回这样的错误Warning: socket_read(): unable to read from socket [0]
    不知道是什么原因
      

  3.   

    PHP_NORMAL_READ这个标签,默认是需要运行在PHP <= 4.0.6版本
    是不是这个原因呢?
      

  4.   

    你应该用fgets,它默认遇到换行就停止读取,一行一行的读数据,建议使用fgets.fread() 从文件指针 handle 读取最多 length 个字节。 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。 string fgets ( int handle [, int length])
    从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。