class Client1{//如果客户端的IP和端口号跟服务器端不符合,则会出现invalid args的报错
const host = "127.0.0.1";
const port = 5001;
public static $socket = null; public static function start() {
try{
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("客户端创建socket失败");
// socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
socket_set_option($socket, SOL_SOCKET, SO_REUSEPORT, 1);
socket_bind($socket, self::host, self::port) or die("客户端无法连接主机端口");
socket_connect($socket, self::host, self::port) or die("客户端无法连接服务器");
socket_write($socket, "你好,我是客户端!") or die("客户端无法发送请求");
$response = socket_read($socket, 1024) or die("客户端获取不到响应");
echo "服务器的响应" . $response; socket_close($socket); } catch (Exception $e) {
echo $e->getMessage();
}
}
}Client1::start();报错如下:
Warning: socket_connect(): unable to connect [22]: Invalid argument in xxx/Client1.php on line 19
客户端无法连接服务器%另外一个server端的端口一样,不过IP是我的IPV4地址。
10行那个函数里面常量存在php版本支持问题
11行客户端不用绑定