我一直在编写使用Twitter Streaming API的应用程序。我正在使用我在GIThub上找到的TheMattHarris OAuth库。这就是我通常设置流式传输过程的方式。
我首先异步调用stream.php:
xmlhttp.onreadystatechange = function(){
// end of stream
}
xmlhttp.open("GET", "stream.php?term="+term, true);
xmlhttp.send();
我的stream.php看起来像这样:
$connection = new tmhOAuth(array(
'consumer_key' => CONSUMER_KEY,
'consumer_secret' => CONSUMER_SECRET,
'user_token' => USER_TOKEN,
'user_secret' => USER_SECRET,
));
$method = "https://stream.twitter.com/1.1/statuses/filter.json";
$connection->streaming_request('POST', $method, array('track'=>$term), 'twitter_callback');
tmhUtilities::pr($connection);
function twitter_callback($data, $length, $metrics) {
// handle tweet here
}
问题在于我似乎无法停止此流。我不知道它在运行之前运行了多长时间。由于这是一个Web应用程序,我可以刷新页面并搜索新术语,但旧流仍然似乎正在运行。
所以我有两个问题:如何阻止这些流?这是实现Twitter流的正确方法吗?
答案 0 :(得分:0)
我认为xmlhttp.abort()
可以解决问题。您可以在此处查看如何执行中止按钮的示例: