通过PHP套接字发送JSON

时间:2017-02-24 21:51:43

标签: php json sockets

我有这个API:http://developers.xstore.pro/documentation/2.2说:

与xStation API的通信

有两个IP,可以互换使用:

  • xapia.x-station.eu
  • xapib.x-station.eu

以下是DEMO和REAL服务器的地址:

  • DEMO:主要端口:5124,流媒体端口:5125
  • REAL:主要端口:5112,流媒体端口:5113。

两台服务器都使用SSL连接。

我想登录我的帐户。我的代码如下所示:

$data = [
    "command" => "login",
    "arguments" => [
        "userId" => my-id,
        "password" => my-password
        ]   
    ];

$in = json_encode($data);

$service_port = 5124;
$address = gethostbyname('xapia.x-station.eu');

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

$result = socket_connect($socket, $address, $service_port);
if ($result === false) {
    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
}


socket_write($socket, $in, strlen($in));

while ($out = socket_read($socket, 2048)) {
    echo $out;
}

socket_close($socket);

我没有得到任何错误,因此连接似乎已正确建立,但与此同时,我并没有回应任何事情。这是我第一次使用套接字,所以我不确定它是否是正确的方法。任何人都可以帮我这个或者至少指出我正确的方向吗?我正在使用Laravel Homestead。

0 个答案:

没有答案