谁能说说"websocket php" http://www.php.net/manual/en/sockets.examples.php>和node.js有什么不同?。我用websocket php聊天,但我不知道如果这个聊天将移动到node.js会更好吗?
Websockets是建立在TCP套接字上的传输。如果您注意到您提供的链接,作者建议手动解码数据帧。有一些项目可以帮助你做到这一点,正如@oberstet所推荐的(参见https://github.com/nicokaiser/php-websocket)。@Kanaka对websockets和原始TCP sockets之间的区别有很好的解释。
使用node.js当然是一种智能的、低开销的websocket连接服务器。另一个选择是使用实时网络。特别是PubNub有一篇关于如何用10行代码编写一个聊天应用程序的博客文章,这篇文章非常容易理解。简单地说,代码是:
Enter Chat and press enter
<div><input id=input placeholder=you-chat-here /></div>
Chat Output
<div id=box></div>
<script src=http://cdn.pubnub.com/pubnub.min.js></script>
<script>(function(){
var box = PUBNUB.$('box'), input = PUBNUB.$('input'), channel = 'chat';
PUBNUB.subscribe({
channel : channel,
callback : function(text) { box.innerHTML = (''+text).replace( /[<>]/g, '' ) + '<br>' + box.innerHTML }
});
PUBNUB.bind( 'keyup', input, function(e) {
(e.keyCode || e.charCode) === 13 && PUBNUB.publish({
channel : channel, message : input.value, x : (input.value='')
})
} )
})()</script>
像这样一个简单的方法将允许您完全省去服务器托管和配置。希望这对你有帮助! 这就像在问" PHP和HTTP有什么区别"。Node.js是一种编写代码的技术框架。WebSockets是一种可以使用技术框架来实现的协议。你可以使用Node.js来实现WebSockets的服务器端。