nodejs实现服务端与客户端简单通信(代码片段)

「已注销」 「已注销」     2022-12-12     308

关键词:

通过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()

socketserver实现并发(代码片段)

... 基于tcp,使用socketserver,可以实现一个服务端与多个客户端通信。基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环socketserver模块中分为两大类:server类(解决链接问题)和request类(解决通信问题)完整的sockets... 查看详情

java中socket实现最简单的客户端与服务端通信(代码片段)

Java中Socket实现最简单的客户端与服务端通信引言:因为最近项目中要接入某通信协议接口,基于TCP/IP的socket接口。于是就在本地弄一个最简单的Socket通信仅供学习。话不多说,直接开摆客户端代码packagetest;importjava.io.*;importjava.ne... 查看详情

java案例:基于tcp的简单聊天程序(代码片段)

...08;一)编写服务器端程序-Server.java(二)编写客户端程序-Client.java(三)测试服务器端与客户端能否通信(四)程序优化思路-服务器端采用多线程一、如何实现TCP通信要实现TCP通信需要创建一个服务器... 查看详情

http协议理解及服务端与客户端的设计实现(代码片段)

HTTP协议理解及服务端与客户端的设计实现版权声明:转载必须注明本文转自严振杰的博客:http://blog.yanzhenjie.com本文主要帮助读者理解HTTP的协作原理、HTTP相关的各层协议,在服务端和客户端的架构设计和一些优化的技巧&#... 查看详情

socket-demo的实现(代码片段)

...点及实现方案TCP粘包/拆包1.问题说明2.解决思路3.demo方案客户端或服务端掉线检测功能1.实现思路2.代码实现客户端身份获知、强制身份验证1.实现思路2.代码实现socket异常处理与垃圾线程回收1.实现思路2.代码实现项目结构参考前... 查看详情

java简单实现aidl进程通信(代码片段)

目录服务端项目客户端代码安装测试服务端项目新建一个Service,名称设为NameService,如下:publicclassNameServiceextendsServicepublicNameService()@OverridepublicIBinderonBind(Intentintent)returnnull;检查下AndroidManif 查看详情

简单的通信----使用socket实现tcp协议(代码片段)

客户端向服务器端发送消息,服务器端给客户端反馈消息。代码和上一篇的代码差不多。Client端代码packagecom.demo;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.net.InetAddress;importjava.net.Socket;/****@authorLynn*使用S... 查看详情

qtqlocalserver服务端与nodeipc通信(代码片段)

QT服务端代码:.h#ifndefLOCALSERVER_H#defineLOCALSERVER_H#include<QObject>#include<QtNetwork>classLocalServer:publicQObjectQ_OBJECTpublic:explicitLocalServer(QObject*parent=nullptr);~LocalServer 查看详情

完美实现windows下网络通信(代码片段)

...mpilerOptions加入-l链接,如图所示:实现的功能服务器端与客户端可以互相自由给对方发送消息,无需在意接收与发送的顺序(利用线程实现)!可以实现加法运算。如需其它的功能,可以自行补充,如:实现四则运算、文件传输 查看详情

websocket简单实现(代码片段)

前言使用go语言开发web服务器时,常常需要web端发送请求给服务端,如果碰到需要长连接的情况,服务端处理http请求往往占用大量资源,而websocket则能使web端和服务端维持长连接。除此之外,建立长连接亦可以使服务端主动向web... 查看详情

简单的通信----使用socket实现tcp协议(代码片段)

功能客户端向服务器端发送一张文件(这里以图片为例),服务器发反馈消息给客户端。代码packagecom.demo;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;im... 查看详情

实现socket的服务和客户端通信(代码片段)

对学习过程中自己敲的一些关于socket有关的代码做了个简单总结,在这分享一下,给有需要的同学借鉴一下。什么是socket?网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通... 查看详情

简单的通信----使用socket实现tcp协议(代码片段)

...方法:Socket(InetAddressaddress,int*port)和Socket(Stringhost,intport)客户端给服务端发送信息,服务端输出此信息到控制台上;**/publicclassDemo02//客户端;publicstaticvoidmain(String[]args)InetAddressinet;Socketsocket=null;OutputStreamout=null;tryinet=InetAddress.getLoc... 查看详情

简单socket网络通信(代码片段)

问题:编写一个网络应用程序,有客户端和服务端,客户端向服务端发送一个字符串(如"HelloSocket"),服务器收到该字符串后将其打印到命令行上,然后向客户端返回该字符串的长度,最后,客户端输出服务器端返回的该字符... 查看详情

wcf-创建简单wcf客户端实现与wcf服务端通信(代码片段)

序言接下来讲解一下,如何创建WCF客户端实现与WCF服务端的通信。这里我们主要讲的是与上一节中创建的WCF服务端的通信。创建WCF服务端传送门1、我们添加一个控制台应用程序,命名为Client;2、以管理员身份启动Host.exe;3、接下... 查看详情

前端架构破局-nodejs落地websocket(代码片段)

是全双工通信协议,当客户端与服务端建立连接之后,双方可以互相发送数据,这样的话就不需要客户端通过轮询这种低效的方式获取数据,服务端有新消息直接推送给客户端即可。传统HTTP连接方式如下:框架中。但是也许你... 查看详情

通过usb数据线实现android端与pc端的通信(代码片段)

Android端与PC通信之SocketONEGoal,ONEPassion!给浦发银行做的一个项目,其中最让人头疼的一点是,要求必须使用usb数据线进行数据的交互.这就遇到两个问题:1.由于每个pc端的ip不同然而pad端ip="127.0.0.1",所以pad(android端)不能作为clie... 查看详情

实现一个简单的redis-client(代码片段)

redis通信原理  redis客户端与服务端之间使用tcp进行通信,redis客户端每执行一条命令,都会将命令封装成特定的格式传送到服务端,如果我们需要实现redis客户端,就需要完成请求的封装。  如果我们打开redis的aof... 查看详情