四会培仔快手:异步 WebService

来源:百度文库 编辑:偶看新闻 时间:2024/09/21 08:56:18
同步异步确实是对于客户端说得 因为你做的是js的同步和异步 
ws你可以理解为rpc(远程过程调用)andilyliao (资深架构师) 2010-01-221) 这个xmlhttprequset在open一个链接的时候,具体怎么实现的? 是不是浏览器重新开了一个线程? 
//这个是由浏览器内部实现,是新开了一个http请求,不是线程 
2)自己一直觉得同步或者异步都是从客户端的角度来说的,因为服务端只需要等待客户端的请求,然后处理,跟这个请求是通过同步还是异步的方式发送过来有区别吗? 
// 同步或者异步都是从客户端的角度来说的,服务端只是接受请求返回响应 
3)有人提到异步的web service,具体指的什么? 
// 
可以参考下一些文章理解 
http://www.ibm.com/developerworks/cn/webservices/ws-asynch/part1/index.html 
http://www.ibm.com/developerworks/cn/webservices/ws-asynch/part2/index.html 
http://www.ibm.com/developerworks/cn/webservices/ws-asynch/part3/index.html 
http://www.ibm.com/developerworks/cn/webservices/ws-asoper/lovewhzlq (CTO) 2010-01-221) 这个xmlhttprequset在open一个链接的时候,具体怎么实现的? 是不是浏览器重新开了一个线程? 

浏览器也是基于HTTP协议来发送请求和接收内容的 
xmlhttprequest的声明还是发送了一个get请求 然后服务器会返回内容回来啊 

2)自己一直觉得同步或者异步都是从客户端的角度来说的,因为服务端只需要等待客户端的请求,然后处理,跟这个请求是通过同步还是异步的方式发送过来有区别吗? 

lz的理解是正确的 但是我认为 同步和异步 是针对整个请求过程来说的 
同步指 客户端发送请求后必须等待服务器返回之后 才能进行下一步操作 
异步 则表示 用户可以发送请求之后 继续其他的操作 而不必等待服务器返回信息 
这个在xmlHttpRequest.open(url, type, boolen)的最后一个参数也是可设置的 
true表示不必等待服务端返回;false则表示必须等待服务端返回 

其实我个人认为 AJAX带来的更多是效率 而非同步和异步 

3)有人提到异步的web service,具体指的什么? 
异步的web service的调用 也可参加AJAX了 
他们的共同点就是 设置一个回调方法 对异步调用返回的结果进行处理 

在web service异步调用方面 体现为 
引用不阻塞接收服务器发来的相应响应消息的情况下,客户端能够发送 SOAP 消息请求

4)callback就是所谓的回调方法咯 

xmlhttp的state是根据客户端向服务端请求的结果的变化时,客户端得到的 
引用0 - (未初始化)还没有调用send()方法 
1 - (载入)已调用send()方法,正在发送请求 
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 
3 - (交互)正在解析响应内容 
4 - (完成)响应内容解析完成,可以在客户端调用了
这五种状态 都是客户端自己得到的 

至于是否立即响应 也还需要看当时的网络状态啦 

同步是针对整个请求过程来说 
这么一个发送、接收 应该仅仅算是一次握手 

mginobili (架构师) 2010-01-24理解同步异步最直观的说法就是是否会阻塞代码的执行。 
在webservice中,如果客户端是异步执行的,就意味着你在调用了 
serviceStub.method()之后会继续执行后面的代码,而如果是同步的ws client,在执行了此方法后会一直阻塞直到得到响应或者timeout。 

因此在异步ws client中,需要注册一个类似于listener的方法,在接收到服务器端响应以后来执行。intih (初级程序员) 2010-02-01