在socket通讯中
服务器端的程序中有 socket_bind  。 
这个 socket_bind 绑定IP绑谁的ip?  客户端还是服务器端?举例如下:
假设有2台机器进行通讯。 服务器端A(IP: 211.70.160.41) 。客户端B(IP: 211.70.160.42)程序部分:服务器端:
$address = '211.70.160.42';                    //这个地址是A的ip 还是 B的IP?
$port = 20000;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, $address, $port);
客户端程序:
$service_port = 20000;
$address = "211.70.160.41";                       //这个地址是A的吗?
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
@socket_connect($socket, $address, $service_port);
我暂时没有 2台机子测试,只有本机测试。IP地址都是一样的。我不好区分。看了手册还是不明白。 谢谢回答!

解决方案 »

  1.   

    那客户端 使用的ip 应该是服务器端的IP 了吧?
      

  2.   

    是的, 
    你要和谁通信就绑谁
    客户端 使用的ip 是服务器端的IP  。端口是服务器端指定端口
      

  3.   

    ibmt42说的好像是对的。这个和一般C/s中差不多。比如说,QQ。
      

  4.   

    php没有客户端程序
    所有的程序都是在服务器上运行的
      

  5.   

    前面几位真是误人子弟啊
    这个函数只能绑定本机所拥有的地址
    如127.0.0.1,过路由的还可以绑定你在从路由获得的地址(如192.168.1.100)
    直接单机拨号上网的,还可以绑定你的拨号获得的外网IP
    总之就是只能绑定本机可以获得的合法IP
    否则就会产生一个上下文错误