nodejs怎么实现套接字服务功能

  介绍

这篇文章主要介绍了nodejs怎么实现套接字服务功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

JS是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

<强>一、什么是套接字

1。套接字允许一个进程他通过一个IP地址和端口与另一个进程通信,当你实现对运行在同一台服务器上的两个不同进程的进程间通信或访问一个完全不同的服务器上运行的服务时,套接字很有用.node提供的网模块,允许你既创建套接字服务器又创建可以连接到套接字服务器的客户端。

2。套接字位于HTTP层下面并提供服务器之间的点对点通信。套接字使用套接字地址来工作,这是IP地址和端口的组合。在套接字连接中,有两种类型的点:一类是服务器,它监听连接;一类是客户端,它打开一个到服务器的连接,服务器和客户端都需要一个唯一的IP地址和端口的组合。

3。套接字是HTTP模块的底层结构,如果你不需要处理如得到何职位的网站请求,只需要点对点的传输数据,那么使用套接字就可以就能为你提供一个轻量级的解决方案和更多的控制。

<强>二,net.Socket对象

1。套接字对象同时在套接字服务器和客户端套接字上创建,并允许数据在它们之间来回写入和读取。在套接字客户端,当你调用<代码> net.connect() 或<代码> net.createConnection() 时,套接字对象在内部创建,这个对象是为了表示到服务器的套接字连接。使用套接字对象来监控连接,将数据发送到服务器并处理来自服务器的响应。在套接字服务器上,当客户端连接到服务器时,套接字对象被创建,并被传递到连接事件处理程序,这个对象是为了表示对客户端的套接字连接只,,,,在NodeJS中有三种套接字:<强> TCP ,<强> UDP ,<强> Unix域套接字强,主要介绍NodeJS中TCP的基本编程知识。

2。创建一个套接字对象,可以使用以下方法:

//第一种方法,通过一个选项参数   var  SocketClient =, net.connect(选项,,[connectionListener]);   var  SocketClient =, net.createConnection(选项,,[connectionListener]);//第二种方法,通过接受港口和主机值作为直接的参数   var  SocketClient =, net.connect(港口,(主持人),[connectionListener]);   var  SocketClient =, net.createConnection(港口,(主持人),[connectionListener]);//第三种方法,通过接受指定文件系统位置的路径参数,这个位置是一个Unix套接字在创建插座对象时使用的。   var  SocketClient =, net.connect(路径,[connectionListener]);   var  SocketClient =, net.createConnection(路径,[connectionListener]);

无论你使用哪种,都将返回一个套接字对象,唯一的区别在于接受的第一个参数,而最后一个参数都是当连接对服务器打开时执行的回调函数。而无论你使用<代码> net.connect> net.createConncetion>

那么至于第一个参数,指定的选项为:

端口:客户端应连接到的端口。此选项是必需的。
主持人:客户端应该连接到的服务器的域名或IP地址。默认为localhost
localAddress:客户端应该绑定的用于网络连接的本地IP地址。
allowHalfOpen:一个布尔值,如果为真,则表示当套接字的另一端发送一个翅片数据包时,该套接字将不会自动发送一个翅片数据包,从而使双相流的一半保持开放。默认为假

3。一旦插座对象被创建,它就提供了在连接到服务器的生命周期中发出的几个事件,如下:

连接:成功建立与服务器的连接时发出。回调函数不接受任何参数
数据:在套接字上收到数据时发出。如果没有数据时间处理程序被连接,那么数据可能会丢失。回调函数必须接受一个缓冲对象作为参数,它包含从套接字读取的数据的块。
结束:当服务器通过发送一个鳍终止连接时发出。回调函数不接受任何参数
超时:由于不活动,因此到服务器的连接超时时发出。
流失:当写缓冲区变为空时发出。你可以使用此事件截回被写入套接字中的数据流。回调函数不接受任何参数
错误:在套接字连接上发生错误时发出。回调函数应该接受错误的唯一参数。

nodejs怎么实现套接字服务功能