当前位置:首页>开发>正文

求高手解释ASP.NET中socket和ajax的关系和区别 websocket有没有可能取代ajax

2023-04-14 18:48:11 互联网 未知 开发

 求高手解释ASP.NET中socket和ajax的关系和区别 websocket有没有可能取代ajax

求高手解释ASP.NET中socket和ajax的关系和区别

你说的应该是webSocket ,而不是socket。这是两个概念。socket是tcp/ip协议下的东西。
你说的 webSocket 协议 和 Ajax是 Http协议讨论的东西。
Ajax 是基于 JS 的xmlHttpRequest对象实现的异步刷新页面的方法。就是后台单独再启动一个请求,和服务器通信。这么麻烦的根本原因是因为Http协议是无状态的,服务器的响应返回后,无法和之前的请求匹配。
而webSocket 协议是双向的,服务器的响应可以和浏览器的请求握手。这样浏览器页面就不用刷新,也不用再像Ajax那样,用另一个请求来局部刷新当前的请求。效率自然是高了。
但是目前,webSocket 协议还没被普遍支持。好像只有chrome浏览器支持。
慢慢等吧。

websocket有没有可能取代ajax

用Websocket取代ajax来开发WEB应用,是不太可能的。

需要考虑以下更多的问题:

1、部分浏览器可能不支持websocket;

2、多种客户端访问技术,譬如移动端,自己开发的sdk;用http协议,会很通用而简单;websocket在技术上,不够通用;

3、并发,http是短连接,而websocket会保持长连接,当交互并不频繁的时候,连接是被大量浪费的,因此服务器的连接容量会大大多于http;

4、负载,http协议,可以很容易的进行web请求转发来扩容,在搭建lbs接入层的时候,很简单和稳定;而websocket协议,虽然nginx也可以转发,但是毕竟是新技术,稳定性未知;

5、简单:在问题诊断的时候,可以直接面向http协议进行切片从而监视原始数据,工具也很多;而websocket,需要更多面向tcp协议的工具,复杂度和难度会增加不少;

综上,还是建议只有当需要服务器push的模块,才采用websocket,而其他的交互采用http。

JavaScript和Ajax的区别?

ajax是利用javascript与服务器端语言结合来实现的,ajax最主要功能就是利用javascript 的Microsoft.XMLHTTP对象来实现,获取指定的服务器端返回的XML并且利用javascript来进行处理,获取想要的数据.

随便看看