Node.js和.Net 4.5下的await,async相比有什么不同

JavaScript021

Node.js和.Net 4.5下的await,async相比有什么不同,第1张

两个都是基于异步的。nodejs主要通过回调来完成异步,通过调用一个异步操作开始的函数,并指定操作完成时执行的函数。await async是基于任务的异步编程,用同步的代码结构来编写异步方法,由编译器来完成上下文切换等操作,写出的异步代码和同步代码差异很小。

socket.io是一个WebSocket协议的实现,用它你可以进行websocket通信,这是应用层

node.js net.socket是系统socket接口,用它你可以操作linux socket,这是传输层

websocket协议本质上也是使用系统socket,它是把socket引入了http通信,也就是不使用80端口进行http通信。

它的目的是建立全双工的连接,可以用来解决服务器客户端保持长连接的问题。

socket.io只是websocket协议的一种实现。除此之外,HTML5也对websocket定义了对应的API,由浏览器等客户端程序实现它。这样最上层的web应用程序就能直接使用websocket连接了。

//你要先有一个nodejs的javascript的脚本,内容是:

console.log("Hello world")

//然后在你的asp.net里面:

using System.Diagnostics

using System.IO

Process p=Process.Start("你的nodejs的executable","你的上面的那个javascript脚本")

//然后nodejs输出给你的hello world在p.StandardOutput里面:

StreamReader sr= myProcess.StandardOutput

string hello_world_string=sr.ReadLine()

//最后你要等待node的process退出:

p.WaitForExit()

p.Close()