Nodejs 实现服务端与客户端简单通信

Posted 乱舞春秋__

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nodejs 实现服务端与客户端简单通信相关的知识,希望对你有一定的参考价值。

通过Nodejs,我们可以快速地搭建一个简单的Web服务器,实现服务端与客户端的简单通信。

服务端

  • 实现过程
  1. 引入httpfsurl三个模块
  2. 使用createServer方法创建一个服务
  3. 服务监听3000端口号
  4. 当客户端向服务端发起请求时,服务端先进行路径解析,然后使用readFile方法读取客户端请求的文件,最后将数据返回至客户端。
  • 服务端代码:
const http = require('http')

const fs = require('fs')

const url = require('url')
//创建服务器
http.createServer((req, res) => {
	//解析请求
    const pathname = url.parse(req.url).pathname
    console.log(pathname)
    //读取请求的文件内容
    fs.readFile(pathname.substr(1), (err, data) => {
        if (err) {
        	//状态码:404 
            res.writeHead(404, { 'Content-Type': 'text/html; charset=utf-8' })
        }
        else {
        	//状态码: 200 OK
            res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' })
            //响应文件内容
            res.write(data.toString())
        }
        res.end()
    })
}).listen(3000, () => { console.log('Server running at http://localhost:3000/') })

客户端

  • 实现过程
  1. 引入http模块
  2. 配置请求
  3. 设置处理响应的回调函数
  4. 通过request方法向服务器发起请求
  • 客户端代码:
//引入http模块
const http = require('http')
//配置请求
const options = {
    host: 'localhost',
    port: '3000',
    path: '/index.html'
}
//处理响应的回调函数
const callback = (res) => {
    let body = ''

    res.on('data', (data) => {
        body += data
    })

    res.on('end', () => {
        console.log(body)
    })
}
//发起请求
const req = http.request(options, callback)

req.end()

以上是关于Nodejs 实现服务端与客户端简单通信的主要内容,如果未能解决你的问题,请参考以下文章

Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息

手机端与网页通过websocket通信

LinuxC语言实现服务端与客户端多进程通信

java 界面编程用socket实现服务端与客户端的循环通信。

socket.io websocket

C# 编写WCF简单的服务端与客户端