PHP进行tcp连接

22 篇文章 1 订阅

原生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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值