黑马程序员技术交流社区
标题:
Socket异步编程和同步编程对比
[打印本页]
作者:
fcyan86
时间:
2013-6-2 19:58
标题:
Socket异步编程和同步编程对比
本帖最后由 fcyan86 于 2013-6-3 11:48 编辑
Socket异步编程和同步编程:各自有什么优点,一般情况下各自应用于什么情况,实时性,效率、资源占用有何区别?求大神解
作者:
张成智
时间:
2013-6-2 21:36
所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。
异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程
根据情况自己选择,大多用异步方式
其区别在于:在同步模式中,对执行网络操作的函数(如 Send 和 Receive)的调用一直等到操作完成后才将控制返回给调用程序。在异步模式中,这些调用立即返回。
另外,很多时候,Socket编程视情况不同需要在客户端和服务器端分别予以实现,在客户端编制应用程序向服务端指定端口发送请求,同时编制服务端应用程序处理该请求,这个过程在上面的阐述中已经提及;当然,并非所有的Socket编程都需要你严格编写这两端程序;视应用情况不同,你可以在客户端构造出请求字符串,服务器相应端口捕获这个请求,交由其公用服务程序进行处理。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2