〔初学Socket〕异步Socket和同步Socket的区别是什么??
最近在学习Socket,但始终搞不明白异步和同步到底是怎么一回事
什么是同步,什么是异步? 谁更好一些,还是适用于不同的数据传输要求?
如果是谁更好一些,那么是谁好呢?好在那里?
如果是适用于不同的数据传输要求,那各适用什么样的数据传输? 为什么?
能给提供一本专门学习Socket技术的书吗? 电子书最佳....
谢谢!!!!!
问题点数:50、回复次数:9Top
1 楼hzw66(超越理想)回复于 2005-11-04 14:58:21 得分 10
简单说:
同步就是一直等着返回
异步就是不管是否返回,先做其它处理
根据情况自己选择
大多用异步方式Top
2 楼YAOHE(吆喝)回复于 2005-11-04 15:01:23 得分 2
楼上的说得对,通讯用同步还是异步,得看你要什么样的结果Top
3 楼poboy(笑笑生)回复于 2005-11-04 15:12:26 得分 10
同步时 达到 这条代码 。
tcpclient.receive();
时 ,不会向下执行 ,
是不见不散的那种痴情种 ,
tcpclient.beginreceive();
则属于那种 一切随缘 ,有当然好,没有也无所谓,
那种不会为谁死去活来的那种 。。
呵呵,像我Top
4 楼GoatFans(千年虫子精)回复于 2005-11-04 15:23:02 得分 0
楼上的回答的很酷....呵呵
那能推荐一本很不错的关于Socket的学习资料或Blog吗?谢谢Top
5 楼stonegoldaustin(特醇中南海)回复于 2005-11-04 16:02:14 得分 10
所谓同步,可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。
异步,执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。
并不是说谁好谁不好,只是同步的机制不适合在正式应用的项目当中(但自己测试还是可以的)
想学习SOCKET的话,建议从C/C++开始,对各种底层函数有个大概的了解,C#已经封装了SOCKET函数,不利于你了解整个工作机制Top
6 楼o1o(两蛋一枪)回复于 2005-11-04 16:36:52 得分 2
可以改学通信呀,计算机跟通信密切相关的。Top
7 楼poboy(笑笑生)回复于 2005-11-04 16:45:05 得分 2
我的socket是看图书馆的书 ,如果对你不现实的话 ,
最好的资料其实就是 。net的文档Top
8 楼poboy(笑笑生)回复于 2005-11-04 16:46:24 得分 3
这些站点
国内完全免费的电子书籍下载
http://www.vvsoft.net/vvbksd/index.asp
http://download.chinaitlab.com/sort/2_1.htm
http://book.httpcn.com/
http://www.chinesebook.com.cn/bjbookfair/index.asp
http://www.eshunet.com/
http://www.manyi100.com/
http://www.52ebook.com/
http://www.pcbookcn.com/
http://www.itebook.net/download.asp
http://www.ebookcn.net
http://www.chinaz.com/DownLoad/L/8_Lastuptime_Desc_1.asp
http://soft.winzheng.com/SoftList/Catalog_11_SoftTime_Desc_1.htm
http://www.gd00.com/SoftList/Catalog_7_SoftTime_Desc_1.html
http://soft.0zones.com/SoftList/Catalog_10_SoftTime_Desc_1.htmlTop
9 楼Gerryjiang(下一站)回复于 2005-11-09 15:25:06 得分 11
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpguide/html/cpconNon-blockingServerSocketExample.asp
去MSDN吧,上面有的例子还不错!Top