第一篇:背单词哪个好
看谁是强者,十四大背单词软件、在线背单词评测报告
我是一名英语培训学校的专职老师,来学校培训的学生中有许多基础比较差、拥有的单词量非常少,直接造成学习英语困难。我教学的一个重要的方面就是提高学习者词汇量,所以在日常的工作中特别关注各种背单词的方法和辅助工具。
这学期我开始了新概念英语的教学,为了采取更好的辅助工具帮助学生记忆单词我对市场中的各种背单词的软件和在线背单词的网站进行了新概念第一册第一单元背诵效果的横向测试,以下是我测试的结果,供各位学习者和老师、家长借鉴。软件类: ①新东方背单词
《新东方背单词》的特点就是内容全面权威,囊括中小学、许国璋、新概念、职称、大学、研究生、新东方出国考试(GRE、TOEFL、GMAT、LSAT、雅思)词汇,适合从零起点到高级英语学习人员的全面需要。遵循多种记忆法则:例如词缀、词根记忆法、比较记忆法、单词举例记忆法等。
我组织三名成绩接近的学生进行了新概念第一单元的学习和测验。一个小时测试结果:总学习:175词,已知: 47词,生词: 128词
测验结果:记住40词/小时 正确率:31% 学生反馈:新东方背单词的例句有些简单,不太具有典型性。比如excuse,的例句是“Excuse me!“ 和“Excuse me.What's the time ?两个例句的知识点是相同的。
我的评价:感觉《新东方背单词》对学习英语的方式方法很有心得,它利用不同的学习方式来加强单词的记忆效果,比起其他软件公司开发的单词记忆软件,具有更强的教学性,毕竟是多年积累的教学经验,更易于学习者的学习。而且有几个不错的背单词的游戏,能引起学生的学习兴趣,寓教于乐。
②轻轻松松背单词
蒲公英也算是背单词软件行业里的佼佼者了,估计许多学习英语的人都用过这款《轻轻松松背单词》。这款软件最大的特点就是单词和例句的发音是标准的美音而且是美国专家朗读。我组织三名成绩接近的学生进行了新概念第一单元的学习和测验。一个小时测试结果:总学习:175词,已知: 47词,生词: 128词 测验结果:记住39词/小时 正确率:30% 学生反馈:《轻松背单词》的发音比较好,例句也是标准的发音不是那种电脑合成的让人觉得难受的声音,而且有不错的记忆游戏可以在游戏中加深记忆。
我的评价:《轻松背单词》和《新东方背单词》作为软件类背诵单词中最优秀的几个,功能实际上已经有较强的趋同性。《轻松背单词》的确可以作为学习英语一个有效的辅助工具。
③疯狂单词
这款软件界面的设计很有web2.0的风格,很是卡哇伊。有十种主要的功能,能满足记忆单词的要求。突出的特点,就是联想功能了,可以设置联想的参数,达到举一反三的效果。但是相比于前两款软件,因为容量关系,这款还不及前两款的1/10,虽然短小精悍,但是一些功能也是惨不忍睹,比如发音,那种毫无感情、蹩脚的电脑合成发音就让我崩溃了。免费版的词库少的可怜,根本没有《新概念英语》的,为了测试他的效果,我还是升级为专业版进行了测试。顺便提一句,软件主页七星阁的制作真是太不专业,建议作者重新制作吧。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。
一个小时测试结果:总学习:165词,已知: 43词,生词: 122词 测验结果:记住37词/小时 正确率:30% 学生反馈:《疯狂背单词》的界面很漂亮,但是发音根本听不清,让人难受。对单词的测验方法挺多的,填字母、填单词等难易程度各异的测试,挺不错的
我的评价:《疯狂单词》的设计应该说是非常有特点,我经过对四级单词的记忆,觉得界面设计合理,例句的选择和联想记忆是其比较吸引人的地方。这么小的容量达到这个效果,很不错了。
④单词快车
打开软件,把我吓了一跳,真是黑板一块啊,设计者也太不拘小节了吧。还是先摒弃外貌党的作风,自己先做个试用吧,不能因太主观而错个一款优秀的软件。我自己做了一个学习和记忆的测试,怎么说呢,和前面几款不在一个层面。但是也很有特点,就是可以用话筒录下自己的发音和软件的发音进行比对,而且对教材里例句的收集比较全。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:165词,已知: 43词,生词: 122词
测验结果:记住40词/小时 正确率:32.7% 学生反馈:不太好,试用软件觉得有点压抑,单词发音也是电脑合成,例句和单词分开了,不太方便学习。
我的评价:《单词快车》的设计者肯定是花费了大量的时间来进行准备的,因为我看到每个单词都有非常详尽的例句,但是首先单词的发音是电脑合成不利于使用者提高听力,其次这款软件的测试功能不是特别合理。
⑤单词风暴
这款软件的设计可谓独具匠心,有九种记忆方式可以选择。每种都有自己的特色,我最喜欢的是对话背单词,卡通助手类似于QQ聊天的方式进行测试,还有那个自动连接网络查找单词释义、例句的功能非常的实用。每次学习单词都能看到单词的英文解释和对应图片,令人记忆深刻。
以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:165词,已知: 40词,生词: 125词
测验结果:记住41词/小时 正确率:32.8% 学生反馈:非常好玩,有汉语解释,点击后又成了英文单词,而且单词还有词根前后缀解释,单词还有图片,单词记忆有三种记忆方式,可以自己根据水平进行选择。我的评价:《单词风暴》一款不错的记忆软件,有快速、常规、精确三种学习模式,学习者可以根据自己的水平和时间来选择,助记信息功能比较实用。
⑥奇迹英语
《奇迹英语》功能比较全、词库丰富、真人发声、图文并茂是它的优点,另外还有句库、阅读、音标等功能,循环记忆功能相当实用。
以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:165词,已知: 40词,生词: 132词
测验结果:记住37词/小时 正确率:28% 学生反馈:测验的方式有点少,不能适应不同水平的学生 我的评价:《奇迹英语》从设计的角度来讲比《新东方背单词》有一定差距,还有不少需要改进的地方。
⑦我爱背单词
《我爱背单词》一款不错的软件,包含词汇量丰富,功能比较全有多种背单词的模式,从详细至每字不漏的六维速记到悬浮窗口简单显示的时刻不觉背单词,学习者可以根据自己的水平和时间随意选择适合的模式。
以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:175词,已知: 43词,生词: 125词 测验结果:记住词37/小时 正确率:29.6% 学生反馈:电脑合成读音比较难受,像是听机器人是说话,语速有点快。
我的评价:《我爱背单词》功能比较全,角斗士英语的各类软件集合到一起,能有效帮助学习者提高英语水平。但是电脑合成读音的确让人受不了,还有不少细节问题没有很好解决。
⑧大嘴啃英语
蒲公英的又一款背单词软件,我经过使用感觉就是轻轻松松背单词的姊妹篇和简略版,功能比较少,但是也能满足背单字的一般需求,我觉得适合中小学生使用吧。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:145词,已知: 43词,生词: 102词 测验结果:记住词31/小时 正确率:30.4% 学生反馈:简单的软件,和自己背词典差不多。
我的评价:比起《轻轻松松背单词》这款软件从美工上讲有很大进步,从技术上讲进步不大。
⑨En8848 迷你背单词
经过自己的试用,发现就是一个浮动的工具条,不断出现单词、音标和解释,应该说和《我爱背单词》的时刻不觉背单词的功能一致。作为一个背单词的软件,这一款优点是完全免费,但是这也是唯一的优点了,这款软件只有进一步完善功能才能真正算的上背单词的软件了。这款软件由于自身原因没有进行测评,因为这完全和自己背书本是一样了。
⑩敏特英语教室
敏特软件的制作应该将是比较专业的,应该是一个完整的英语学习过程,界面设计友好,知识的教授比较专业。唯一的不足有点面面俱到,要学习要求学习者必须要高度集中注意力。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果。一个小时测试结果:总学习:175词,已知: 43词,生词: 132词 测验结果:记住词41/小时 正确率:31.6% 学生反馈:和在上英语课差不多,就是时间长了有点累,练习有点少。
我的评价:一款不错的软件,我的建议,在学习者学习前应该先安排一个简单的测试,再来呈现个性化的学习方案。
【软件类评价】在现在这个网络时代,单机使用的软件对学习英语的帮助是很大的,但是现在的背单词软件为了追求界面精美和单词的覆盖面容量愈来愈大,动辄6百多兆的容量,给学校等机构大面积使用带来不少麻烦。而且软件类必须在固定机位使用也不是很方便。所以在线背单词类网站与软件类背单词相比具有个人数据保存方便,不必拘泥于固定机位等优势。但有一个前提就是网站的架构要至少达到《新东方背单词》和《轻轻松松背单词》这两款软件的境界。
在线网站类:
①大耳朵背单词
大耳朵背单词是在线网站类背单词中比较知名的一个,我也经常在大耳朵上背诵单词和测试。但是我发现大耳朵网站有一个重大的缺陷就是单词的发音不是真人发声而是机器模拟,这对学习者的学习是有一定影响的。
以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果: 一个小时测试结果:总学习:238词,已知: 121词,生词: 117词 测验结果:记住35词/小时
正确率:33% 学生反馈:单词发音不是清晰,而且例句的选择有点生僻根本看不懂。还是以excuse为例,大耳朵的例句是“an absence without adequate excuse could result in the suspension of a financial stipend.无正当理由的缺课者可能要受到停发津贴的处罚。
我的评价: 感觉效率低,没有循环记忆安排。而且在网站中出现了许多低级的错误,比如下图
有两个单词中的字母都写成大写了,虽然这是一个小问题,但无疑说明了这个网站存在的一些问题
② 天天背单词
http://scb.iciba.com/day
金山词霸的附属网站,专业和底蕴来讲肯定是没得说,但是金山词霸仅仅是将背单词作为一个次要的附加服务,所以制作还不是特别精细。天天背单词,就和词典差不多,只是变成了网络版而已。
我自己试用了一下,有拼写练习、词义回想、拼写背诵和单词回想四种模式,感觉一般。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果: 一个小时测试结果:总学习:138词,已知: 37词,生词: 101词 测验结果:记住25词/小时 正确率:24.7% 学生反馈:没有单词发音,和自己背课本差不多。我的评价: 效率低,比较枯燥
③在线背单词 www.xiexiebang.com 不知道网站制作者是不是也是Kobe的粉丝,估计网站名称的含义是24 小时学英语吧,这个网站设计的非常简洁,背单词是以表格形式出现,没有音标,没有例句,也没有循环记忆。经过试用觉得这个网站就是辅助记忆的,设计上还需要大力改进。以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果: 一个小时测试结果:总学习:118词,已知: 23词,生词: 95词 测验结果:记住30词/小时 正确率:31.6% 学生反馈:没有单词发音,没有例句,更没有记忆游戏,老师不监督根本不想背。我的评价: 的确是相当枯燥啊!④《5A背单词》
www.xiexiebang.com 《5A背单词》是我在百度中偶然发现的,却给了我最大的惊喜。它的网站的架构是依据“艾宾浩斯实时记忆规则“为基础,能实时分析人脑记忆的动态过程,实时改变学习记忆顺序,达到最优化的学习效果。
学习者的记忆要经过“记忆---遗忘---记忆---遗忘---记忆”的多次重复,才能对单词的记忆达到牢记的效果。
5A背单词有许多难得的优点,首先是每一个单词都有标准的真人发音,声音标准而悦耳,而且采取了人性化的设计,只要鼠标指向单词就会发音,无需再做点击。当然是用过软件类背诵单词的人,觉得这个功能挺平常的,但是作为一个在线网站类来说这个功能的确是值得推崇,听力的培养是学英语最基础的一环,而标准的发音对学习者的帮助是毋庸置疑的。第二是对单词例句的选择真是精益求精,我发现”is“的例子很有说服力,其他的背单词的软件或者网站,对is都没有例句,而5A背单词的一个例子是“Whatever is,is right?”一切存在都是合理的。这个细节也说明了5A背单词 的细腻。
以下是三名成绩接近的学生进行了新概念第一单元的学习和测验的结果: 一个小时测试结果:总学习:184词,已知: 53词,生词: 131词 测验结果:记住60词/小时 正确率:70% 学生反馈:5A背单词的发音比较好,而且所选取的例句多是一些名言和典型的句子对掌握单词的内涵和使用帮助较大。在背单词的过程中,如果出现错误,在其后的四五分钟内,错误的单词会不断的重复出现,虽然最后都回答的有点烦了,但是真的掌握这个单词了,效果真的很好。还学到一些课后就可用的一些句子,比如我学习me这个单词时,背过了这样一句话“To live with me " 留在我的记忆中,课后就可以向同学炫耀了
我的评价:偶然的发现,最大的收获,5A背单词的确有其比较独特的地方,令我感受最深的是网站制作的朴实和专业,以及独特的对学习者的背单词顺序和频率实时变化上。
【在线类评价】
在现在这个网络时代,使用在线软件是一个大的趋势,云技术的应用就是为了实现对用户实现个性化的服务。在线背单词类的网站,我经过试用和检测觉得有两个网站质的推荐:大耳朵背单词和5A背单词。如果以单词记忆为主的话,我更推荐5A背单词。
希望我的亲身实践和比较得出的结论,能帮助到你。我觉得现在5A背单词的知名度不是很高,但是它以学习者为本的特质,会让它很快成为背单词在线网站中的佼佼者。你能想象5A背单词的效果比动辄700多兆容量占用大量内存的背单词软件还好吗?自己去5A背单词去感受下吧!
第二篇:财务软件哪个好
财务软件哪个好:各类财务软件对比分析
财务软件是企业信息化的第一选择,目前中国市场上财务软件厂商、品牌众多,比如用友软件、金蝶软件、浪潮软件、速达软件、管家婆等,那么哪个财务软件好,企业该如何选择?中国云应用平台为您对比一下各个品牌的优劣,供您参考。
1、用友财务软件 产品已经涵盖了小型企业、成长型企业、大中型企业和集团,是国内市场占有率最大的财务软件厂商。主要产品包括:用友通 用友T系列 用友U8 用友U9等。小型企业财务软件价格在4000元-3万元 中型、大型企业 一般在10万元以上 上市集团型企业成交金额在1千万元左右。用友软件已形成NC、U8、“通”三条产品和业务线,分别面向大、中、小型企业提供软件和服务,用友软件的产品已全面覆盖企业从创业、成长到成熟的完整生命周期,能够为各类企业提供适用的信息化解决方案。
2、速达财务软件、管家婆、新中大、千里马等一些行业软件定位于中小企业,其中速达的市场占有率相当高。相比用友、金蝶等一线品牌,速达、管家婆、新中大等产品注重用户使用上的便捷性,目前在产品稳定性等一些细节方面已经有长足进步,产品更新比较快。用友、金蝶有的版本很快时间内就有了更新。速达、管家婆、新中大等价格便宜许多,同等功能的产品,价格不到用友、金蝶的一半,对于资金不太充裕的中小企业,成长型企业来说,是个不错的选择。
3、金蝶财务软件 适用于各类企业 价格和用友差不多稍微比用友低一点 就好像宝马和奔驰一样 也有一大批国内行业龙头企业选择金蝶产品 市场份额:国内不到一半企业选择金蝶 大公司服务都不错就看各地的公司水平了,两家公司总部的实力那是都没得说。口号 让管理更简单 香港上市企业 南方用户多,南方市场占有率多一些 总部在琛圳
4、浪潮财务软件 借助国内服务器浪潮的名声,财务软件排在第三名,浪潮公司抓住了一些重点企业,特别是山东的公司,像晨鸣纸业、石化企业等。但不适用小型企业,因为他的全国网络至今没有完全打开,很多地级市县级市没有代理商。相比用友、金蝶各地都有了几家代理同时在做,浪潮软件总的来说可以不错。
第三篇:Linux编程培训哪个好
中国IT职业教育领先品牌
精品课程 全程面授
Linux编程培训哪个好
想知道Linux编程培训哪个好?先来了解一下什么是Linux编程吧!
Linux编程,比需要了解线程的问题。线程间通信之信号量
线程的信号量主要就是实现对公共资源的一种控制管理。当公共资源增加时,信号量的值增加;当公共资源减少时,信号量的值减少;只有信号量的值大于0时,才能访问信号量所代表的公共资源。其实功能和之前的ucos的信号量功能类似。线程信号量初始化sem_init
intsem_init(sem_t *sem, intpshared, unsigned int value);功能介绍:
该函数主要的功能是创建一个信号量,设置该信号量的值,并且设置信号量的使用范围。信号量创建成功后,可以对其进行加减操作。参数说明:
千锋教育www.xiexiebang.com
中国IT职业教育领先品牌
精品课程 全程面授
第一个参数sem是一个指向信号量结构的指针,当信号量初始化成功后,可以的这个信号量指针进行加减操作;第二个参数表示信号量的共享属性,当其值不为0时,信号量可以在进程间共享,如果等于0,则只能在同一个进程中的多个线程间共享;第三个参数用于设置信号量初始化时候的值。2 线程信号量增加函数sem_post
intsem_post(sem_t *sem);功能介绍:
该函数用于增加信号量的值,每次增加值为1。当有线程在等待该信号量,则等待信号量返回,不增加信号量的值。参数说明:
sem参数是初始化时候创建的信号量结构体,用于记录信号量值得参数。3 线程信号量减少函数sem_wait
intsem_wait(sem_t *sem);功能介绍:
该函数用于减少信号量的值,每次减少值为1。当信号量的值为0,则线程会阻塞一直等待信号量的值大于0为止,当值为0时,不在减少。参数说明:
sem参数是初始化时候创建的信号量结构体。4 线程信号量的销毁函数sem_destroy
intsem_destroy(sem_t *sem);功能介绍:
函数用于释放创建的信号量。
千锋教育www.xiexiebang.com
中国IT职业教育领先品牌
精品课程 全程面授
参数说明:
sem参数是初始化时候创建的信号量结构体。
使用线程的信号量进行通信,可以有效的对线程资源进行合理的分配,同时可以使线程以一个合理的方式进行调度。下面的代码是一个小小的实例,用很常规的方法来使用信号量,当线程获得获得信号量之后,在处理完相应的操作之后会主动的释放掉信号量。其实可以根据信号量的wait和post自己设计使用信号量。不过需要注意的是在wait和post函数分开使用时,可能会因为线程优先级等问题,post和wait被调用的次数不是对等的,这时候这时候可能出现的问题是不可控的,在这种方式设计程序时,需要把大部分的情况考虑进去,当然可能出现的情况的种数也是从0到1质变,从1到n量变得过程。
#include sem_tsem;7 intsemValue;8 void *pthread_wait(void *argv)10 { 11 while(1) 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 { 13 sem_wait(&sem);14 sem_getvalue(&sem, &semValue);15 printf(“This is in phtread WAIT function!sem = %dn”, semValue);16 sem_post(&sem);17 sleep(1);18 } 19 pthread_exit(“exit wait pthread!n”);20 } 21 void *pthread_post(void *argv)23 { 24 while(1)25 { 26 sem_wait(&sem);27 sem_getvalue(&sem, &semValue);28 printf(“This is in phtread POST function!sem = %dn”, semValue);29 sem_post(&sem);30 sleep(1);31 } 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 pthread_exit(“exit post pthread!”);33 } 34 intmain(void)36 { 37 pthread_tpt[2];38 void *ret;39 sem_init(&sem,0,2);41 pthread_create(&pt[0], NULL, &pthread_wait, NULL);42 pthread_create(&pt[1], NULL, &pthread_post, NULL);43 pthread_join(pt[0], &ret);44 printf(“return value %s”, ret);45 pthread_join(pt[1], &ret);46 printf(“return value %s”, ret);47 return 0;49 } 上面代码的运行结果如下,因为是线程采用了无限循环的方式,所以pthread_exit和pthread_join不会执行到。 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 如果将上面代码中的第26行注释掉,运行结果如下,可以看到信号量的值一直在增加,就如上面提到的因为sem_wait函数和sem_post函数不能同时使用时,会出现一些不可控的运行结果。也可以利用这种情况,设计程序。 以上就是千锋Linux学院的学习笔记。另附心得体会一篇: 从零基础开始学Linux或者是转行学习Linux,参加培训会保证你在单位时间内学到更多,毕竟随着Linux行业的快速发展,未来必将会面临更多的竞争,所以只有不遗余力的把自己打造成一把利剑,从专业度到职业素质,只有比别人更突出和优秀,才能够在这个相互选择的世界当中拥有更多的选择权利。现在想要学习Linux技术,只有通过参加培训才可以保证快速掌握所学知识和技能,所 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 以培训是比较靠谱的。 Linux编程培训哪个好?千锋教育的Linux课程专注于当前热门的Linux相关技术,就Linux而言,内容全面而细致的。Linux教学团队由众多名师打造,拥有多年教学经验和高超的Linux授课技巧和实战视野,让你理论和实战兼得。 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 学习Linux编程哪个好 想知道Linux编程培训哪家好?先来了解一下什么是Linux编程吧!Linux下的网络编程指的是socket套接字编程,入门比较简单。在学校里学过一些皮毛,平时就是自学玩,没有见识过真正的socket编程大程序,比较遗憾。总感觉每次看的时候都有收获,但是每次看完了之后,过段时间不看,重新拾起这些知识的时候又要从头开始,所以,在这里做个笔记也算是做个模板,以后可以直接从某一个阶段开始接着玩…… IO复用之select函数 select函数用于IO复用,它用于监视多个文件描述符集合,看规定时间内有没有事件产生。 int select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,struct timeval *timeout);功能介绍: 该函数主要的功能是对需要操作的文件描述符集合进行查询,目标文件描述符中有可以读,写或者异常错误操作的情况时,会返回一个大于0的整数值,表示可以对该文件描述符进行操作。select函数返回0,表示超时;返回-1,表示发生错误;返回大于0的整数值,表示有符合要求的文件描述事件产生。当不需要监视某种文件描述符时,设置参数为NULL。参数说明: nfds:是一个整型变量,其值是加入到后面三个文件描述符集合中的最大文件描 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 述符的值加1。 readfds:可读文件描述符集合,通过FD_SET向该文件描述符集合中加入需要监视的目标文件描述符,当有符合要求的文件描述符时,select会返回一个大于0的值,同时会把原来集合中的不可读的文件描述符清掉,如果想在次监视可读文件描述,需要重新FD_SET。 writefds:可写文件描述符集合,同样通过FD_SET函数向结合中加入需要被监视的目标文件描述符,select返回时,同样会把不可写文件描述符清掉,如果需要重新监视文件描述符,需要重新FD_SET设置。 exceptfds:该描述符集合是用于监视文件描述符集合中的任何文件是否发生错误。 timeout:用于设置超时的最长等待时间,如果在该规定时间内没有返回一个大于0的值,则返回0,表示超时。如果超时间设置为NULL,表示阻塞等待,直到符合条件的文件描述符在集合中出现,当timeout的值为0时,select会立即返回。 timeout的数据结构如下: struct timeval { time_t tv_sec; /*秒*/ long tv_usec; /*微秒*/ };有4个宏可以操作文件描述符集合: FD_ZERO: 用于清空文件描述符集合,FD_ZERO(&fds)。 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 FD_SET:向某个文件描述符结合中加入文件描述符, FD_SET(fd, &fds)。FD_CLR:从某个文件描述符结合中取出某个文件描述符, FD_CLR(fd, &fds)。FD_ISSET:测试某个文件描述符是否在某个文件描述符集合中, FD_ISSET(fd, &fds)。 下面是本实用socket编程,并且利用select IO实现的一个server和client实时通信的例子,为了显示更直观,加了一些打印以及接收数据上的操作,程序还有bug,希望阅读的人不要介意,或者自行修改。代码如下,可以作为学习socket和select的一个实例。server.c文件源码如下: #include int main(void)13 { 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 int sockfd, clientfd; struct sockaddr_in sockServer, sockClient;16 struct timeval tv;17 fd_set readfds, writefds;18 int readlen, writelen;19 char buffer[SIZE];20 sockfd = socket(AF_INET, SOCK_STREAM, 0);22 if(sockfd < 0)23 { 24 perror(“create socket failed!n”);25 return-1;26 } 27 bzero(&sockServer, 0);29 sockServer.sin_family = AF_INET;30 sockServer.sin_port = htons(SPORT);31 sockServer.sin_addr.s_addr = htonl(INADDR_ANY);32 if(bind(sockfd,(struct sockaddr *)&sockServer, sizeof(struct sockaddr_in))< 0)34 { 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 perror(“bind socket failed!n”);36 return-1;37 } 38 if(listen(sockfd, BACKLOG)< 0)40 { 41 perror(“listen failed!n”);42 } 43 printf(“Server is listening......n”);45 while(1)47 { 48 int len = sizeof(struct sockaddr_in);49 int ret;50 time_t timet;51 clientfd = accept(sockfd,(struct sockaddr *)&sockClient, &len);53 if(clientfd < 0)54 { 55 perror(“accept failed!n”); 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 return-1;57 } 58 for(;;)60 { 61 FD_ZERO(&readfds);FD_SET(1, &readfds);FD_SET(clientfd, &readfds);tv.tv_usec = 0;tv.tv_sec = 60; ret = select(clientfd+1, &readfds, NULL, NULL, &tv);switch(ret){ case 0: printf(“select timeout!n”); break; case-1: perror(“select return failed!n”); goto closesocket; default: if(FD_ISSET(clientfd, &readfds)> 0) 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 { 79 memset(buffer, 0, SIZE);80 readlen = read(clientfd, buffer, SIZE);81 if(readlen < 0)82 { 83 ctime(&timet));88 perror(“read data failed!n”); goto closesocket; } time(&timet); printf(“Opposite: %d %s”, clientfd,strcat(buffer, “n”); writelen = write(0, buffer, readlen+1); if(writelen < 0) { perror(“write data failed!n”); goto closesocket; } } if(FD_ISSET(1, &readfds)> 0){ time(&timet); 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 printf(“Owner: %d %sn”, sockfd, ctime(&timet));100 memset(buffer, 0, SIZE);101 readlen = read(1, buffer, SIZE);102 if(readlen < 0)103 112 113 } 114 } 115 } 116 closesocket: 117 close(clientfd);118 } 119 close(sockfd); { perror(“read data failed!n”); goto closesocket;} writelen = write(clientfd, buffer, readlen);if(writelen < 0){ perror(“write data failed!n”); goto closesocket;} 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 120 121 return 0;122 } client.c文件源码如下: #include int main(void)12 { 13 int sockfd, clientfd; struct sockaddr_in sockServer;15 struct timeval tv;16 fd_set readfds;17 int readlen, writelen; 精品课程 全程面授 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 char buffer[SIZE];19 time_t timet;20 sockfd = socket(AF_INET, SOCK_STREAM, 0);22 if(sockfd < 0)23 { 24 perror(“create socket failed!n”);25 return-1;26 } 27 bzero(&sockServer, 0);29 sockServer.sin_family = AF_INET;30 sockServer.sin_port = htons(SPORT);31 sockServer.sin_addr.s_addr = htonl(INADDR_ANY);32 if(connect(sockfd,(struct sockaddr *)&sockServer, sizeof(struct sockaddr_in))< 0)34 { 35 perror(“connect failed!n”);36 close(sockfd);37 } 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 while(1)40 { 41 int ret;42 FD_ZERO(&readfds);44 FD_SET(1, &readfds);45 FD_SET(sockfd, &readfds);46 tv.tv_usec = 0;47 tv.tv_sec = 60;48 ret = select(sockfd+1, &readfds, NULL, NULL, &tv);50 switch(ret)51 { 52 case 0: 53 printf(“select timeout!n”);54 break;55 case-1: 56 perror(“select return failed!n”);57 goto closesocket;58 default: 59 if(FD_ISSET(sockfd, &readfds)> 0)60 { 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 memset(buffer, 0, SIZE);62 readlen = read(sockfd, buffer, SIZE);63 if(readlen < 0)64 { 65 perror(“read data failed!n”);66 ctime(&timet));70 goto closesocket; } time(&timet); printf(“Opposite: %s %s”, “Server”,strcat(buffer, “n”); writelen = write(0, buffer, readlen + 1); if(writelen < 0) { perror(“write data failed!n”); goto closesocket; } } if(FD_ISSET(1, &readfds)> 0){ time(&timet); printf(“Owner: %d %sn”, sockfd,千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 ctime(&timet));82 memset(buffer, 0, SIZE);83 readlen = read(1, buffer, SIZE);84 if(readlen < 0)85 { 86 perror(“read data failed!n”);87 goto closesocket;88 } 89 writelen = write(sockfd, buffer, readlen);90 if(writelen < 0)91 { 92 perror(“write data failed!n”);93 goto closesocket;94 } 95 } 96 } 97 closesocket: 99 close(clientfd);100 } 101 close(sockfd);102 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 return 0;104 } 运行结果如下所示: 以上就是千锋Linux学院的学习笔记。另附心得体会一篇: 从零基础开始学Linux或者是转行学习Linux,参加培训会保证你在单位时间内学到更多,毕竟随着Linux行业的快速发展,未来必将会面临更多的竞争,所以只有不遗余力的把自己打造成一把利剑,从专业度到职业素质,只有比别人更突出和优秀,才能够在这个相互选择的世界当中拥有更多的选择权利。现在想要学习Linux技术,只有通过参加培训才可以保证快速掌握所学知识和技能,所以培训是比较靠谱的。 学习Linux编程哪个好?千锋教育的Linux课程专注于当前热门的Linux相关技术,就Linux而言,内容全面而细致的。Linux教学团队由众多名师打造,拥有多年教学经验和高超的Linux授课技巧和实战视野,让你理论和实战兼得。 千锋教育www.xiexiebang.com 中国IT职业教育领先品牌 精品课程 全程面授 千锋教育www.xiexiebang.com 条码仓库管理软件作为企业提高效率的重要工具,大家对条码仓库管理软件选择一定有自己的看法,而选择如何好用的仓库管理软件系统,企业应该怎样评估选择条码仓库管理软件的性价比呢?到底条码仓库管理软件哪个好?下面将简单的谈一谈自己的看法 易操作性。中小企业本身资金缺乏,技术人才相对较少,人员信息化素质比较低,那么中小企业进仓库管理软件易操作性就成为用户选择软件的一个重要条件。鑫宝软件 在产品设计理念上正强调了这一点,力求操作简单,使不精通计算机的人员能简单上手。 功能实用性。中小企业仓库管理软件并不需要追求功能如何强大,只要做到功能不堆砌,实用就行。以鑫宝软件 来看,功能涵盖集条码管理、资料管理、往来单位管理、仓库出入库管理、调拨管理、盘点管理、报损管理、日常领用管理、仓库安全预警、统计分析管理、系统控制管理等功能于一体。很好的做到功能不堆砌、实用的准则。 价格合适。中小企业之所以选择中小型企业仓库管理软件,主要一个原因是自身资金少。中小企业规模小,信息化建设预算少,而且信息化建设并不是马上见效的,所以软件产品在价格上要具于合理性,性价比高,才能让更多的企业与公司享受到企业信息化带来的利益。看售后保证。虽然这个不好判断,但也有好法,看这版本有没有终身服务,这样,才能看出来,这个企业是不是真心为大家服务、是不是真的比较好用。终身免费使用、终身免费升级、终身免费服务,能过得了这三关的,质量也确实是不错的,当然条码软件第一品牌值得信赖。现在也有很多公司盲目的希望能用软件来管理仓库,盲目投入,认为这样可以有效提高工作质量,带来收益。其实不尽然,很多企业的仓库不是很大,甚至就算仓库规模不小,但是公司常年累月有自己的原始简单的操作方法,并且效率和准确率完全达到公司的要求。这个时候盲目跟风,会打乱仓库现有的模式,相关员工需要重新学习、采用一个全新的模式。反而把原本简单事情弄的复杂化。到最后导致投入浪费。 我觉得仓库的根本还是人,再就是完善的仓库制度,最后才是条形码仓库管理软件。仓库应该是先要有负责任的人,然后这些人认真执行这套完善的仓库制度,在这个大前提下通过一个合适的仓管软件来辅助人来工作。所以选择仓库出入库管理软件应该是结合自身的情况,选择一款适合自己用的软件。第四篇:学习Linux编程哪个好
第五篇:条码仓库管理软件哪个好?