原生PHP的写法。
$host = '服务端IP';
$port = 端口号;
$timeout = 5;
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if (socket_connect($socket, $host, $port) === false) {
socket_close($socket);
$message = 'create socket error';
throw new Exception($message, socket_last_error());
}
if (socket_write($socket, $buffer) === false) {
socket_close($socket);
$message = sprintf("write socket error:%s", socket_strerror(socket_last_error()));
throw new Exception($message, socket_last_error());
}
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, $timeout);
$rspBuffer = socket_read($socket, 65536);
socket_close($socket);
使用swoole的写法。
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC);
$ret = $client->connect('服务端IP', 端口号, 0.5, 0);
if (!$ret) {
throw new Exception('connect error', $client->errCode);
}
$client->send($buffer);
$rspBuffer = $client->recv();
转载地址
https://www.liudon.org/1324.html