当前位置: 首页 > news >正文

科技网站设计案例苏州建网站公司选苏州聚尚网络

科技网站设计案例,苏州建网站公司选苏州聚尚网络,百度怎么收录我的网站,保定高端模板建站net模块是Node.js的核心模块之一,它提供了用于创建基于网络的应用程序的API。net模块主要用于创建TCP服务器和TCP客户端,以及处理网络通信。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,用于…

net模块是Node.js的核心模块之一,它提供了用于创建基于网络的应用程序的API。net模块主要用于创建TCP服务器和TCP客户端,以及处理网络通信。

image.png

TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,用于在计算机网络上进行数据传输。它是互联网协议套件(TCP/IP)的一部分,是应用层和网络层之间的传输层协议。

TCP的主要特点包括:

  1. 可靠性:TCP通过使用确认机制、序列号和重传策略来确保数据的可靠传输。它可以检测并纠正数据丢失、重复、损坏或失序的问题。
  2. 面向连接:在进行数据传输之前,TCP需要在发送方和接收方之间建立一个连接。连接的建立是通过三次握手来完成的,确保双方都准备好进行通信。
  3. 全双工通信:TCP支持双方同时进行双向通信,即发送方和接收方可以在同一时间发送和接收数据。
  4. 流式传输:TCP将数据视为连续的字节流进行传输,而不是离散的数据包。发送方将数据划分为较小的数据块,但TCP在传输过程中将其作为连续的字节流处理。
  5. 拥塞控制:TCP具备拥塞控制机制,用于避免网络拥塞和数据丢失。它通过动态调整发送速率、使用拥塞窗口和慢启动算法等方式来控制数据的发送速度。

场景

  1. 服务端之间的通讯

服务端之间的通讯可以直接使用TCP通讯,而不需要上升到http层

server.js

创建一个TCP服务,并且发送套接字,监听端口号3000

import net from 'net'const server = net.createServer((socket) => {setInterval(()=>{socket.write('XiaoMan')},1000)
})
server.listen(3000,()=>{console.log('listening on 3000')
})

client.js

连接server端,并且监听返回的数据


import net from 'net'const client = net.createConnection({host: '127.0.0.1',port: 3000,
})client.on('data', (data) => {console.log(data.toString())
})
  1. 从传输层实现http协议

创建一个TCP服务

import net from 'net'const http = net.createServer((socket) => {socket.on('data', (data) => {console.log(data.toString())})
})
http.listen(3000,()=>{console.log('listening on 3000')
})

net.createServer创建 Unix 域套接字并且返回一个server对象接受一个回调函数

socket可以监听很多事件

  1. close 一旦套接字完全关闭就触发
  2. connect 当成功建立套接字连接时触发
  3. data 接收到数据时触发
  4. end 当套接字的另一端表示传输结束时触发,从而结束套接字的可读端

通过node http.js 启动之后我们使用浏览器访问一下

image.png

可以看到浏览器发送了一个http get 请求 我们可以通过关键字get 返回相关的内容例如html

import net from 'net'const html = `<h1>TCP Server</h1>`const reposneHeader = ['HTTP/1.1 200 OK','Content-Type: text/html','Content-Length: ' + html.length,'Server: Nodejs','\r\n',html
]const http = net.createServer((socket) => {socket.on('data', (data) => {if(/GET/.test(data.toString())) {socket.write(reposneHeader.join('\r\n'))socket.end()}})
})
http.listen(3000, () => {console.log('listening on 3000')
})

image.png

http://www.yayakq.cn/news/274607/

相关文章:

  • 济南网站建设优化百家号阜阳 做网站
  • h5跟传统网站有啥区别wordpress注册邮件接收不到邮件
  • 滨江建设工程网站哪个网站可以做分销
  • 用thinkcmf做的网站wordpress评论去除
  • 网站建设设计师的工作内容手机网页制作作品
  • 长沙的企业网站建设盘石做的网站
  • 江西东乡网站建设福州网站制作托管维护
  • 深圳 福田网站建设暴雪被收购
  • 奉化网站建设济南做网站要多少钱
  • eclipse 网站开发源码如何上传ftp网站程序
  • 智联招聘网站多少钱做的网站建设怎样做好
  • 网站建设 荆州资兴市网站建设服务商
  • 网站的基础建设网站开发费用摊销年限
  • 温州网站建设及推广昆明网络营销公司哪家比较好
  • 定制做网站平台公司网站地址
  • 网站开发专业大学做彩票游戏网站违法吗
  • 商丘柘城做网站排名前50名免费的网站
  • 陵水网站建设咨询如何申请网站域名流程
  • 广东企业网站建设公司wordpress视频解析接口
  • 汽配做的最好的网站彩票网站开发 晓风
  • 刷题网站怎么做wiki wordpress
  • 买卖网站手机搭建网站教程视频教程
  • 视觉上体验的网站wordpress怎么改搜索
  • 国内优秀wordpress主题电商seo是什么意思
  • 深圳市工程建设交易服务中心网站工作总结写作
  • 塔罗牌手机网站制作sem什么意思
  • wordpress插件证书认证网站专业设计笔记本电脑
  • 建设网站上申请劳务资质吗大型门户网站建设步骤
  • 江苏润通市政建设工程有限公司网站网页设计模板html代码
  • 彩票网站开发搭建免费建站网页无需登陆