我是靠谱客的博主 无奈紫菜,最近开发中收集的这篇文章主要介绍js和php聊天socket,PHP Socket服务器与node.js:Web聊天,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JavaScript,或者在这种情况下,V8是Node正在使用的引擎,是通过设计单线程的。所以是的,只有一个事件队列。

但是最后,这不是一个问题,除非你使用多个处理器,否则总是会发生一些事情,即使如此,你最有可能只有一个网卡…一个路由器…你得到这个想法。此外,使用1000个线程…不是一个好主意,扩展不好,你会发现自己在一个并发HELL。

1000个聊天用户,这对Node.js来说根本就没有问题。

我可以给你一个很基本的想法,你如何设置,这个简单的香草聊天的东西通过telnet,它有..没有功能,但它的工作原理:

var net = require('net'); // require the net module

var users = []; // keep track of the users

// setup a new tcp socket server

net.createServer(function(socket) { // provide a callback in case a new connection gets

// established, socket is the socket object

// keep track of this users names, via use of closures

var name = '';

// ask the new user for a name

socket.write('Enter a Name(max 12 chars): ');

// register a callback on the socket for the case of incoming data

socket.on('data', function(buffer) { // buffer is a Buffer object containing the data

if (name !== '') { // in case this user has a name...

// send out his message to all the other users...

for(var i = 0; i < users.length; i++) {

if (users[i] !== socket) { // ...but himself

users[i].write(name + ': '

+ buffer.toString('ascii').trim()

+ 'rn');

}

}

// otherwise take the data and use that as a name

} else {

name = buffer.toString('ascii').substring(0, 12).trim().replace(/s/g, '_');

socket.write('> You have joined as ' + name + 'rn');

// push this socket to the user list

users.push(socket);

for(var i = 0; i < users.length; i++) {

if (users[i] !== socket) {

users[i].write('> ' + name + ' has joined' + 'rn');

}

}

}

});

// another callback for removing the user aka socket from the list

socket.on('end', function() {

users.splice(users.indexOf(socket), 1);

});

// bind the server to port 8000

}).listen(8000);

这里没有任何魔法(除了使用closures),您不需要使用原始套接字编程,并且不会有任何并发​​问题。你学到一些最新的热情;)

我建议您观看我们的Node.js标签wiki上列出的一些会话,以更好地掌握Node.js的工作原理。

最后

以上就是无奈紫菜为你收集整理的js和php聊天socket,PHP Socket服务器与node.js:Web聊天的全部内容,希望文章能够帮你解决js和php聊天socket,PHP Socket服务器与node.js:Web聊天所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部