我的相关配置:
Apache HTTP Server Version 1.3PHP Version 4.1.2Redhat 7.3

解决方案 »

  1.   

    查看你的PHPINFO,是否已将socket编译到PHP
      

  2.   

    已将socket编译到PHP'--enable-sockets' 
    Sockets Support enabled
      

  3.   

    第一种显示的返回结果是 $len 的!可我的程序应该没错呀!服务端程序和客户端没有必然的联系吧!
    只要我的客户端程序对就可以了吧!发送,接受就行了!
      

  4.   

    为什么不显示返回信息?$len 返回的是 37 。还望指教!!
      

  5.   

    第二个程序缺少了socke会话过程
      

  6.   

    好象在PHP Version 4.1.2不支持
    socket_read()之类的.
      

  7.   

    这是PHP 手册中写的:
    socket_read
    (PHP 4 >= 4.1.0)socket_read -- Reads a maximum of length bytes from a socket
    Description
    string socket_read ( resource socket, int length [, int type])
    好像支持!$len 返回的是 37 
    37 是什么意思?
      

  8.   

    第二种的代码我是用PHP手册中的!
    我只是该了相关的设置。我把
    $in .= "Host: www.example.com\r\n";
    $in .= "Connection: Close\r\n\r\n";
    $out = '';
    去掉了!<?php
    error_reporting(E_ALL);echo "<h2>TCP/IP Connection</h2>\n";/* Get the port for the WWW service. */
    $service_port = getservbyname('www', 'tcp');/* Get the IP address for the target host. */
    $address = gethostbyname('www.example.com');/* Create a TCP/IP socket. */
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    if ($socket < 0) {
        echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
    } else {
        echo "OK.\n";
    }echo "Attempting to connect to '$address' on port '$service_port'...";
    $result = socket_connect($socket, $address, $service_port);
    if ($result < 0) {
        echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
    } else {
        echo "OK.\n";
    }$in = "HEAD / HTTP/1.1\r\n";
    $in .= "Host: www.example.com\r\n";
    $in .= "Connection: Close\r\n\r\n";
    $out = '';echo "Sending HTTP HEAD request...";
    socket_write($socket, $in, strlen($in));
    echo "OK.\n";echo "Reading response:\n\n";
    while ($out = socket_read($socket, 2048)) {
        echo $out;
    }echo "Closing socket...";
    socket_close($socket);
    echo "OK.\n\n";
    ?>