gpt4 book ai didi

实时 PHP 套接字

转载 作者:可可西里 更新时间:2023-10-31 23:51:14 29 4
gpt4 key购买 nike

背景

用户计算机上的桌面应用程序从调制解调器获取电话号码,并在接到电话后将其发送到 PHP 脚本。目前,我可以通过 PHP 在指定端口上接收数据/数据包。然后我有一个连接到 411 数据库并返回指定电话号码的地址的抓取工具。

问题

通过套接字在 PHP 中检索电话号码后,如何使用新电话号码自动更新 411 解析器页面?

代码

socket_listener.php

set_time_limit(0);

$address = "127.0.0.1";
$port = 10629;

// create socket and bind with listener event

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($socket, $address, $port);
socket_listen($socket);

do {
$accept = socket_accept($socket);
$read = socket_read($accept, 1024) or die("Could not read input\n");

// parse phone number
$phone = substr($read, 19, 15);

$file = fopen("phone_numbers.txt", "a");
fwrite($file, $phone . "\r\n");
fclose($file);

} while (true);

phone_numbers.txt

(425) 555-1212
(123) 456-7890

当前解决方案

我目前的解决方案非常古怪。

modem -> desktop application -> socket_listener.php -> data.txt -> 411_scraper.php
  1. socket_listener.php 24/7 全天候监听传入数据包的端口,并将它接收到的新电话号码附加到文本文件中
  2. 411_scraper.php 每 5 秒检查一次文本文件的更新。如果文件版本更改,则读取最后一个电话号码
  3. 运行代码查询 411.com 并使用电话号码检索数据

所需的解决方案

  1. socket_listener.php 在端口上监听包含电话号码的传入数据包
  2. 页面使用从 411 检索到的新数据自动更新

我一直在看的东西

我看过 node.js、Ratchet (www.socketme.com) 和 Pusher (http://pusher.com/),但它们都超出了我的理解水平。 Pusher 和 Ratchet 看起来很有前途,但我还没有投入其中。

最佳答案

我会使用 ajax 或类似的东西。 PHP 不是实时的。当您导航到使用 PHP 的网站时,代码会在页面呈现之前执行。它在服务器计算机上处​​理代码并将结果作为字符串返回给您,您可以将该字符串发送给发出请求的客户端。

您将把数据持久保存在某个地方。一旦 php 脚本完成执行,该执行的数据就消失了。除非你使用 session 。

关于实时 PHP 套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17606426/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com