我无法理解node.js中net.createserver和http.createserver之间的区别.
我已阅读了位于这两个网址,这两种方法的文档 https://nodejs.org/api/net.html#/net_net, https://nodejs.org/api/http.html#/http_class_http_server.
据我所知,http.createserver创建了一个http服务器.但是,文档说net.createserver创建了一个tcp服务器.据我所知,tcp是http的传输协议,http服务器设置为读取http请求头.我也非常了解node.js中偶数发射器的概念.但是,我不明白这个tcp服务器的概念以及为什么会在node.js中创建一个.上下文是我正在编写"node.js in action"一书中的聊天应用程序示例.
Tro*_*ott 39
http.createServer()设置一个处理HTTP协议的服务器,它确实通过tcp传输.net.createServer()创建一个服务器,该服务器只知道TCP连接何时发生,数据是否已传输,等等,但不知道是否已收到有效的HTTP请求等.
如果您正在编写Web服务器,请大家帮忙http.createServer(),net.createServer()因为它可以为您节省大量的工作.如果您正在编写其他类型的服务器,请不要使用http.createServer().
Ond*_*hák 12
我不太了解Node.js,但我对网络有所了解.HTTP是一种在OSI模型的第7层(应用程序)层上工作的协议.TCP是在OSI模型的第4(传输)层上工作的协议.正如你所说,是的HTTP在TCP之上工作.创建HTTP服务器的选项http.createServer()就在那里,所以你不必自己实现它net.createServer().协议TCP可能被许多应用程序使用,您可以创建自己的协议,或者实现一些不同于HTTP的协议,例如:FTP,DNS,SMTP,Telnet等等.