回答
我想你是指使用Javascript的用戶通知。這可以使用websockets(HTML5)或JavaScript每x秒鐘撥打一次服務器來完成。
Websockets很難安裝是我的經驗。
每x秒就是1,經常浪費資源,並且當你得到很多訪問者時會導致很多麻煩。
我使用的解決方案是一個名爲pusher的api。我僅將它用於我自己的應用程序,所以我使用免費版本。但是,它就像一個魅力和易於安裝
也期待在http://en.wikipedia.org/wiki/Push_technology,從Anigel
從服務器真正的推送對客戶不(容易)可能用PHP。你需要的是投票。您可以在服務器上爲每個連接的客戶端創建一個消息隊列,客戶端會使用一個輪詢器自動檢索該隊列的內容(所以基本上每隔設定的時間間隔執行一次請求)。
這似乎是最優化的解決方案,但我仍然希望有一個非常簡單的安裝引擎。 – manish 2013-05-01 12:37:26
如果您希望它很簡單,那麼您需要查看輪詢,長輪詢或使用api。 http://en.wikipedia.org/wiki/Push_technology
有沒有辦法使用PHP來使服務器打開通過代理,防火牆等連接到計算機上的程序時,該計算機尚未連接到服務器,並表示它正在等待數據。
這就是有效的長輪詢所做的事情,客戶端連接到服務器並保持打開狀態,等待服務器告訴它一些事情,或者直到它超時。如果超時,那麼它重新連接
SocketIO讓我們爲您的客戶創建一個空間,它可以發送消息到客戶的房間。
讓我告訴你一個簡單的例子:
notification.js
var app = require('http').createServer(),
io = require('socket.io').listen(app);
app.listen(3000);
io.sockets.on('connection', function (socket) {
// Joining a room
socket.join('chatroom');
socket.on('newUserJoinRequest', function(data) {
socket.broadcast.to('chatroom').emit('newUserJoinedNotification', data);
})
});
client.html
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://localhost:3000/socket.io/socket.io.js"></script>
</head>
<body>
<input type="text" id="username" placeholder="name">
<button type="text" id="joinButton">Join</button>
<div id="responses">
<h2>NodeJS+SocketIO responses:</h2>
<ul></ul>
</div>
<script>
var socket;
jQuery(document).ready(function() {
socket = io.connect('//localhost:3000');
socket.on('newUserJoinedNotification', function(data) {
var li = '<li>A new user joined the room: ' + data.name + '</li>';
jQuery('#responses ul').append(li);
});
});
jQuery('#joinButton').click(function() {
var username = jQuery('#username').val();
socket.emit('newUserJoinRequest', {name: username});
});
</script>
</body>
</html>
您可以設置推送通知,而不開發自己的使用notify.pm的應用程序。它需要大約2行代碼,API是在這裏: https://github.com/notifypm/notifypm-php-api
<?php
require_once("notifypm.class.php");
$n = new Notifypm('email', 'password', '.pmNumber');
$n->push('Message!', 'Link (optional)!');
$n->disconnect();
- 1. PHP - 推送通知
- 2. 推送通知在PHP
- 3. 通過PHP推送通知?
- 4. J2ME PHP推送通知
- 5. PHP實時通知(推送?)
- 6. 蘋果推送通知 - PHP
- 7. 在Phonegap中推送通知?
- 8. 在Asp.net中推送通知
- 9. 在ios中推送通知
- 10. 推送推送通知
- 11. 在android中使用php發送推送通知使用php
- 12. 從PHP發送iOS推送通知
- 13. iPhone推送通知(PHP)不發送
- 14. 推送通知
- 15. 推送通知
- 16. 推送通知
- 17. 推送通知
- 18. 推送通知
- 19. 推送通知
- 20. 推送通知
- 21. 從推送通知中推送視圖
- 22. 通過PHP廣播推送通知
- 23. Apple通過代理推送PHP通知
- 24. 在推送通知中發送URL Firebase
- 25. 在android中發送推送通知
- 26. 在iOS6中發送推送通知
- 27. Xamarin.Forms Azure通知中心推送通知
- 28. 「暖」推出推送通知
- 29. PHP上的推送通知錯誤(iOS上的簡單推送通知)
- 30. 在PHP中使用GCM發送推送通知
你還沒有真的給什麼去嘗試讀取HTTP://en.wikipedia。org/wiki/Push_technology然後搜索php和選擇的方法 – Anigel 2013-05-01 12:18:12
我已經在網上搜索任何東西,輪詢對我來說不是件事,因爲它使其他請求超級緩慢,APE是一個更多的ajax推動引擎,但它又複雜建立。我只需要相當簡單,資源少。 – manish 2013-05-01 12:29:52
當某人在聊天框中輸入某些內容時,您目前如何向用戶發送消息,因此無法使用相同的方法。 – Anigel 2013-05-01 12:37:58