连接gateway发送消息报错

alpha

问题描述

这里详细描述问题
think\exception\ErrorException: stream_socket_client(): Unable to connect to tcp://127.0.0.1:12346 (Cannot assign requested address)

$ip = 'text://127.0.0.1:12345';

$task_connection = new AsyncTcpConnection( $ip );
// 任务及参数数据
$task_data = array(
    'function' => $funcName ,
    'args'     => $args ,
);
// 发送数据
$task_connection->onConnect = function( AsyncTcpConnection $task_connection ) use ( $task_data ) {
    $task_connection->send( json_encode( $task_data ) );
};

上面代码循环了1万次就报上面的错误了,是哪里配置的不对吗。应该怎么修改

639 1 1
1个回答

黑哥

本地端口用光了。

在Linux系统中,可以修改/etc/sysctl.conf文件来增加可用端口范围。具体步骤如下:

  1. 以管理员身份登录到Linux系统。
  2. 打开/etc/sysctl.conf文件
  3. 在文件的末尾添加以下行:
    net.ipv4.ip_local_port_range = 1024 65535

    这将将可用端口的范围从默认的32768-60999扩大到1024-65535。

  4. 保存并关闭文件。
  5. 运行以下命令使修改生效:
    sudo sysctl -p
  • alpha 2023-08-11

    真的可以,改完确实好多了。感谢回复的这么详细

  • 小W 2023-08-11

    服务器还有其他服务?默认可以创建20000多个啊,啥业务啊这是循环了1万次

  • alpha 2023-08-11

    循环一万次 发送了两三次吧 所以应该是2-3万次。就是想测试测试 结果报错了

年代过于久远,无法发表回答
×
🔝