IP地址和端口号

本文详细解释了IP地址如何定位计算机和应用程序,以及端口号在网络通信中的重要性。讨论了唯一IP地址的必要性,并介绍了服务器的创建、监听和端口选择。特别关注了HTTP模块的使用,包括响应头设置和不同URL路径的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1: IP 地址用来定位计算机,  端口号用来定位具体的应用程序。
(所有需要联网的通信的软件都必须有端口号)

2: 所有联网的程序都需要进行网络通信
   计算机中只有一个物理网卡, 而且只有一个局域网中,  网卡的地址必须是唯一的。

3: 网卡通过唯一的ip 地址进行定位的。
4:  在url 地址栏中输入地址 会被DNS 解析为 ip 地址。

   // 加载http 模块
   4.1: 创建一个Server 服务器
     var server = http.createServer(); 
   4.2: 监听request 请求事件,  设置请求处理函数
   server.on('request', (req, res)=> {
     console.log('收到请求了', 请求路径是:' + req.url);
     console.log('请求我的客户端号是: ', req.socket.remotePort);
   })
5: 端口号的范围是从: 0 ~ 65536 之间。

6:  可以同时来气多个服务, 但是每一个服务都必须对应一个端口号。
    1: 加载http 模块
       var http = require('http');
    2: 创建服务器
       var server = http.createServer();  // 创建服务器
       监听浏览器请求事件
    3: server.on('request', (req, res)=> {
         // 在服务器端发送请求的数据,  其实是utf-8 的内容
         // 但是浏览器不知道 utf-8 编码的内容
         // 浏览器在不知道的服务器响应的编码内容的情况下, 会按照操作系统的默认编码去解析。
         // 中文操作系统是 gbk 

         // 加上响应头信息 (设置响应头信息为 utf-8 字节码)
         Content-type: 就是告诉对方发送数据的内容是什么数据类型。
         Content-type: 'text/html' 响应的是html 内容的格式
         res.Header('Content-type', 'text/plain; chartset= utf-8');
         
         res.end('响应数据');
         var url = req.url;
         if(url==='/plain') {
            res.setHeader('Content-type', 'text/plain; chartset=utf-8');
            res.end('hello, word')
         }else if(url==='/html') {
            res.setHeader('Content-type', 'text/plain; chartset=utf-8');
            res.end('<p>hello world</p>')
         }    
      
       })
    4: 监听端口号
    server.listen(3000, (req, res)=> {
        console.log(server is runing...)
    })

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值