1,都调用了createServer方法。
2,当客户端接入时都会执行一个回调函数。
二,不同之处
1,回调函数的中对象的类型。net服务器中,是个连接(connect)对象,而在HTTP服务器中,则是请求和响应对象。
2,原因:
1,http服务器是更高层的API,提供了控制和HTTP协议相关的一些功能。
2,浏览器在访问站点时不会只用一个连接,很多主流的浏览器为了更快的加载网站内容,能够像同一个主机打开八个不同的连接,并发送请求。Node为了不让我们担心是请求还是连接,为我们提供了请求和响应的抽象。因此,即使你能通过req.connection属性获得TCP连接对象,但大多数情况下你还是在与请求和响应的抽象打交道。
可以实现的
// 创建一个Socket实例var socket = new WebSocket('ws://localhost:8080')
// 打开Socket
socket.onopen = function(event) {
// 发送一个初始化消息
socket.send('I am the client and I\'m listening!')
// 监听消息
socket.onmessage = function(event) {
console.log('Client received a message',event)
}
// 监听Socket的关闭
socket.onclose = function(event) {
console.log('Client notified socket has closed',event)
}
// 关闭Socket....
//socket.close()
}
参数为URL,ws表示WebSocket协议。onopen、onclose和onmessage方法把事件连接到Socket实例上。每个方法都提供了一个事件,以表示Socket的状态。