在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地址都是一样的。我不好区分。看了手册还是不明白。 谢谢回答!
服务器端的程序中有 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地址都是一样的。我不好区分。看了手册还是不明白。 谢谢回答!
你要和谁通信就绑谁
客户端 使用的ip 是服务器端的IP 。端口是服务器端指定端口
所有的程序都是在服务器上运行的
这个函数只能绑定本机所拥有的地址
如127.0.0.1,过路由的还可以绑定你在从路由获得的地址(如192.168.1.100)
直接单机拨号上网的,还可以绑定你的拨号获得的外网IP
总之就是只能绑定本机可以获得的合法IP
否则就会产生一个上下文错误