了不起的Node.js--之五 TCP连接

TCP连接

传输控制协议(TCP)是一个面向连接的协议,它保证了两台计算机之间数据传输的可靠性和顺序。

TCP是一种传输层协议,它可以让你将数据从一台计算机完整有序地传输到另一台计算机。

Node.js这个框架的出发点就是为了网络应用开发所设计的。如今,网络应用都是用TCP/IP协议进行通信的。

Node Http服务器是构建于Node TCP服务器之上的。从编程角度来说,也就是Node中得http.Server继承自net.Server(net是TCP模块)。

TCP有哪些特性

TCP的首要特性就是它是面向连接的,面向连接的通信和保证顺序的传递。

还有面向字节、可靠性、流控制、拥堵控制、Telnet等特性。

Telnet详解

Telnet是一个早期的网络协议,旨在提供双向的虚拟终端。在SSH出现前,它作为一种控制远程计算机的方式被广泛使用,如远程服务器管理。它是TCP协议上层的协议。

$ telnet

绝大部分Telnet使用的是23端口。

下面我们一起看一个telnet的例子:下载

# web-server.js
var http=require('http');
var serv=http.createServer(function (req, res){
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('<marquee>Smashing Node!</marquee>');
    });
serv.listen(3000);

使用telnet来建立一个连接

$ telnet localhost 3000

服务器端的'<marquee>Smashing Node!</marquee>'信息并未到客户端这里。原因在于,要往TCP连接中写数据,必须首先创建一个HTTP请求,这就是套接字(socket)。

在终端输入GET/HTTP/1.1然后按两下回车键。

我们来总结一下:

1.成功建立了一个TCP连接。

2.创建了一个HTTP请求。

3.接收到了一个HTTP响应。

4.测试了一些TCP的特性。到达的数据和在Node.js中写得一样:先写了Content-Type响应头,然后是响应体,最后所有的信息都按序到达。

原文地址:https://www.cnblogs.com/adam/p/3698920.html