C网络编程实现英英词典(网络编程英文翻译)
怎样用C语言做socket网络编程?
mfc只是对socket进行了一些封装,大部分人做网络编程都是用的原始的socket,比如如下接口都可以在c下进行调用\x0d\x0a 1.socket() \x0d\x0a 2.bind() \x0d\x0a 3.connect() \x0d\x0a 4.listen() \x0d\x0a 5.accept() \x0d\x0a 6.send() 和recv() \x0d\x0a 7.sendto() 和recvfrom() \x0d\x0a 8.close() 和shutdown() \x0d\x0a 9.getpeername() \x0d\x0a 10.gethostname() \x0d\x0a这些接口是在Winsock2.h中定义的不是在mfc中定义的,你只需要包含Winsock2.h头文件和Ws2_32.lib库就可以了。
C语言 网络编程 关于accept函数的问题
你的两个调用方式最后一个参数,意义完全不同,addrlen是将addrlen的地址传给accept(是一个可以写的变量地址)
而你的后一个,是将sizeof(addr)它是一个常量,一般为4,转为指针传给accept,这个地址是不可写的
tcp网络编程(C语言)
以下是两个文件.client.c和server.c
server.c
client.c
运行效果如下
如何使用新英汉词典?
对于留学生来说,一部好的词典在国外能抵得上托福30分。那些还在忙于标化考试,提升英语实力的出国党,也一定深知一部实用词典,对于英语学习有多重要。今天学霸君来为大家介绍如何挑选适合你的英文词典?这些免费资源留学党绝对不能错过! 接下来学霸君还会更加努力给大家带来考试干货、学霸技能、和备考经验的!快来点击标题下方的北美学霸君关注我,么么哒!
文|魏剑峰
From 英文悦读
作为一名词典控,我在过去的几年里接触了不少英文词典(以英英词典为主),对英文词典的使用以及选择比较有感触。今天我们就来谈一谈如何选择英文词典吧。
英文词典的主要分类 为什么要使用英英词典 英英词典的详细介绍及选择 电子资源的介绍及更多
1. 英文词典的主要分类
目前在国内我们接触到的英文词典主要有三种:英汉词典,英汉双解词典以及英英词典。
英汉词典一般为中国人所编写,如译文社《新英汉词典》,鼎鼎有名的由陆谷孙先生主编的《英汉大词典》,复旦大学的@文冤阁大学士现在正在主编的《英汉大词典》第三版也属于英汉词典的范畴。
英汉双解词典是目前英语学习词典的主流。英汉双解词典都译自英语原版词典,但并非真正全文翻译,大多数词目都是英语释义配上对应的汉语解释。最著名的英汉双解词典应该是下面这本《牛津高阶英汉双解词典》,相信很多同学上大学后第一本英文词典就是它。
英英词典又分为两种:ESL词典以及Non-ESL词典(我们把它称为母语词典)。ESL词典是国内使用流传最广的英英词典类型,特点是面向非英语母语的学习者,释义用词较简单,一般局限在3000词以内,词典收词量较小。Non-ESL词典是指英美国家人士使用的词典,特点是收词量大,释义用词精确,范围广,无上限,很多词典例句很少或没有,有点类似于我们用的《新华字典》和《汉语大词典》 。
在国外出版社的英汉双解词典以及各种在线词典的冲击下英汉词典的市场份额逐年缩小,未来前景也不明朗,有逐渐被边缘化的趋势。学会使用英英词典是每一个英文学习者的必备要求和技能。
2. 为什么要使用英英词典
打个比方,英汉词典就好比是一个人学走路时用的拐杖,在刚开始的时候可能还有点用,但如果要真正学会走路最终还是要扔掉拐杖,去接触英英词典,去接触真实的英语环境。使用英英词典至少有以下几个好处:
1.更加深刻地理解词汇(中文和英文并非就真能一一对应,很多词非常微妙,细微差别在中文翻译中体察不出来) 2.学到更多丰富、地道的表达(英英词典中对应的例句和表达往往非常丰富) 3.更加全面地掌握单词的各种搭配以及切合语境的应用(动词和介词如何搭配?形容词如何用更贴切?常用词一词多义,活学活用等问题都可以在字典里找到答案)
举个例子,Pride and Prejudice里面有这样一个句子
They returned, therefore, in good spirits to Longburn, the village where they lived, and of which they were the principal inhabitants.
想一想,这里为什么要用 inhabitant 这个词?可不可以用resident来代替?在英汉词典里面这两个词都解释为“居民”,但是在英英词典里面这两个词的解释分别是:
inhabitant n. [C]one of the people who live in a particular place. resident n.[C]someone who lives or stays in a place such as a house or hotel.
两者一比较就能看出它们的细微差别了,一个是表示“居民“,一个是“住民”。作者用词之精确可见一斑。"The nuance of language is often lost in translation",此话不假。使用英英词典是一种最大限度避免语言失真的方法。
3. 英英词典的详细介绍及选择
ESL词典
作为一名英语学习者,我们必须知道的ESL词典及品牌是以下六个
1.Longman Dictionary of Contemporary English 2.Oxford Advanced Learner's Dictionary 3.Macmillan English Dictionary for Advanced Learners 4.Collins Cobuild Advanced Learner's English Dictionary 5.Cambridge Advanced Learner’s Dictionary 6.Merriam-Webster's Advanced Learner's English Dictionary
下面分别介绍:
Longman Dictionary of Contemporary English
即朗文当代英语词典,由朗文出版公司出版。朗文出版公司创办于1755年,出版词典已有251年历史,其词典的权威性一直为世人所公认。朗文当代英语词典目前更新到了第五版(LDOCE 5)。
对英语学习者来说,最新版的朗文英英5是一个惊喜,在几种学习型词典中,它的收词量最大,图片最丰富,短语,例句也非常完善。难怪词典的主编宣称是“史上最强大的学习型词典”。朗文英英5印刷版词典还带有光碟,光碟软件安装后超过1G,涵盖纸质版所有内容,而且还有大量collocation和Synonym扩展,自带所有图片和单词发音(这是要把印刷版的使用者全部赶到光碟上的节奏)
推荐指数:★★★★★
Oxford Advanced Learner's Dictionary
牛津高阶英语词典,由著名的牛津大学出版社出版。牛津系列词典是进入中国最早,也最为中国英语学习者所熟悉的词典品牌。牛津高阶英语词典(简称OALD)是世界上第一部为非英语国家的人们学习英语而编纂的高阶英语学习词典,半个多世纪以来一直引领世界潮流,迄今已发行三千万册。
目前该词典已经出到第八版,新版增收新词新义4500条,突出了语法信息与用法搭配,并将释义所用单词从3500个精选到3000以内,把学习词典普遍采用的以简释繁的原则贯彻得十分出色。OALD的双解版《牛津高阶英汉双解词典》是广大高校学子最喜闻乐见的一本词典,同时它也是部大砖头,厚度高达2511页
推荐指数:★★★★
Macmillan English Dictionary for Advanced Learners
《麦克米伦高阶英语词典》目前出到第二版,其特点是释义准确、简明、实用。词典中释义词汇严格地限于2500个常用词之内,这也大大便利了学习者,避免了释义中又有生词而需反复查找之累。词典的选词以语料库为依据,在正文中以红色标出核心词汇,再借用一、二、三个不等的红色星号来标示其使用频率的高低(一二三星词汇加起来一共有7500个,这一点和下面介绍的柯林斯词典很类似)。比如这个
词典中带有大量的插图以及单词图解,每个单词都会标出单复数形式,时态等,这一点对英语学习者来说非常方便。
推荐指数:★★★★
Collins Cobuild Advanced Learner's English Dictionary
下面重点要介绍的是这本《柯林斯高阶英英词典》 ,对于初学者来说,它可能是最适合入门的一本英英词典。词典最大的特色有两个,一个是英文释义采用整句释义,一个是五星词频。什么是整句释义呢?就是结合语境用整个完整的句子来解释单词。比如” habitual” 这个词,词典是这样解释的:
A habitual action, state, or way of behaving is one that someone usually does or has, especially one that is considered to be typical or characteristic of them.
我们通过这个解释马上可以学到habitual是用来形容action, state, way of behaving的,这便是这个词的使用范围。再如,hail的释义为:
If a person, event, or achievement is hailed as important or successful, they are praised publicly.
这里不仅告诉我们hail的对象一般是person, event 或 achievement, 还说明hail经常用于被动结构,而且与as连用。这种解释形式对于加深学习者对单词的理解和使用是非常有效的。
柯林斯词典的另一个特色是它采用的五星词频。柯林斯词典有一个高达2.5亿的语料库,从语料库中筛选出了最常用的14600词用五星标注。其中五级(最常用词,以下逐级次之)680词,四级1040词(累计1720词),三级1580词(累计3300词),二级3200词(累计6500词),一级8100词(累计14600词)。
根据语料库的统计结果,掌握五级四级的前1720词,就可以读通英语资料的75%,掌握五、四、三、二级的6500词,就可以读通英语资料的90%,掌握这14600词,就可以读懂任何英语资料的95%,即从理论上说,任何一篇100词的文章里大概只有5个词不认识。想读外刊读原版书的同学可以尝试着去掌握这15000个词汇。(注:柯林斯五星词频表有人整理出来了,网上可以找到,感谢整理者!)
推荐指数:★★★★★
Cambridge Advanced Learner’s Dictionary
《剑桥高阶英语学习词典》是大名鼎鼎的剑桥大学出版社作品(雅思考试就是由剑桥大学考试委员会推出的)。目前该词典最新版本为第三版,它以剑桥国际英语语料库(CIC)中逾7亿词条为蓝本,并参考了剑桥英语学习者语料库(CLC)中剑桥测试系统的原始语料,收词量和词条搭配量都非常巨大。词典的释义也控制在2000词以内。这本词典比较大的特色是词典中提供的几百个常见错误分析词条,可以帮助初学者避免单词使用中的错误。
推荐指数:★★★★
Merriam-Webster's Advanced Learner's English Dictionary
前面介绍的五种词典都是英系公司的品牌,而这本《韦氏高阶英语词典》是属于美系品牌,它也是学习美式英语的ESL词典首选。词典收录了美国常用的160,000个例句,号称是市面上所有英语学习字典中收录例句最多者,。词典的一个特点是收录了大量的美式常用惯用语、动词搭配及片语,部分美式表达只有在这本韦氏词典上才能查得到,同时它也采用了韦氏音标,而不是其他词典常见的国际音标
推荐指数:★★★★
Non-ESL词典(母语词典)
ESL词典毕竟是为外国英语学习者量身订做的,其优点是简单易懂,但其缺点也比较明显,由于释义用词所限,部分单词的解释比较啰嗦或者不精确,理解起来也不顺畅。
比较好的方法是ESL词典和母语词典搭配使用。下面是我们需要了解的一些Non-ESL词典:
Merriam-Webster's Collegiate Dictionary
考GRE的同学可能对这本词典有印象,因为据说GRE考试的词汇主要依据就是韦氏大学辞典,GRE反义词所考短语用词也大多是M-W词典中的原话。韦氏大学词典深得美国人青睐,主要因为它具有150年历史,数代美国人都是在它的哺育下长大的,它在美国的地位相当于中国的《新华字典》 。
曾经有人这么评论过:"韦氏词典是划时代的,它的出现标志着美语体系的独立"。韦氏大学词典目前已发展到第十一版,收词22.5万条,词义20余万条,提供词的产生年代,具有实用性和可读性,多义词按年代顺序排列,并增加用法说明,是韦氏词典各版中使用面最广泛的词典。
American Heritage Dictionary(AHD)
大名鼎鼎的《美国传统词典》初版于1969年,最新版为第四版,该词典是具有规范化色彩的英语词典之一,全面记载当代语言,雅俗兼顾,释义先给出中心词义,然后再给出引申义,对词的用法极其同义词均有说明,并有详细例证。该词典最大特色,即许多词条中有Usage Note (用法说明),给读者指明公认的确切用法。再有,该词典收有4,000多幅插画,版面清晰、赏心悦目,是美国畅销书之一,颇受学术界重视,尤其受到教师们欢迎。
Webster's Third New International Dictionary
《韦氏第3版新国际英语词典》是美国结构主义语言学的硕果。它的篇幅极大,共收录了1755年以后仍在使用的词45万条以上,并配有1000幅左右的彩图,是最大型的单卷本英语词典。该书抱着对语言作客观的记录和描写的宗旨,有闻必录,收罗了大量的俗语(包括许多三俗词汇),其20万条例证主要摘引20世纪中期的著述,引用了14,000多作者谴词造句的实例,工夫之深,可与《牛津英语大词典》(OED)媲美。
Concise Oxford English Dictionary
《牛津简明英语词典》(Concise Oxford English Dictionary, 简称COED)是在OED的基础上发展起来的一本中型母语词典。它以“释义准确、可靠、简明”著称于世,是一部世界公认的权威英语工具书,也是牛津词典系列中最具代表性的一部,其发行量一直位居牛津词典之首。2004年牛津大学出版社推出了这部词典的第11版。这一版是《牛津简明英语词典》自1911年出版第1版以来十分重要的一版。它在继承和保持以往各版的特色和优点的基础上作了较大幅度的改进,其中最显著的特点就是收词量大,覆盖面广。
Oxford English Dictionary(OED)
(这本看看就好)牛津英语大词典(Oxford English Dictionary,就是大名鼎鼎的OED)事实上并不是一本词典,而是一套词典。OED一共有20卷,被视为最全面和权威的英语词典。截至2005年11月30日,该词典收录了301,100主词汇,字母数目达3亿5千万个。词典亦收录了157,000个以粗体印刷的组合和变形,以及169,000个以粗斜体印刷的短语和组合,令词典收录的词汇达到616,500个。另外,词典共列出137,000条读音、249,300个词源、577,000个互相参照和2,412,400句例子。像OED这样的巨无霸平时基本用不上,不过倒可以买一套回家收藏。
其他英文母语词典还有:
Random House Webster's Unabridged Dictionary Shorter Oxford English Dictionary Collins English Dictionary(注意不要跟前面的柯林斯ESL词典混淆了) Webster's New World College Dictionary
等几种,限于篇幅,在此不表,有兴趣的同学欢迎谷歌。
除了以上的词典外,再推荐几本适用于语法和写作提升的搭配词典
牛津英语同义词学习词典
牛津英语同义词学习词典以最常见的词立条,词目下面把本条要讨论的同义词用黑体醒目地罗列出来,接着用一句话简单说明这几个词共同的含义是什么。这样的编排可以起到一个小目录的作用,让读者一看便知本条要讨论哪些词语。另一方面,这也方便水平较高的读者查阅,因为他们掌握的词汇量大,只是有些词一时想不起来,提醒一下就够了。
牛津英语搭配词典
牛津英语搭配词典(外研社引进,英汉双解版)从崭新的角度探究了英语中词与词之间的组合关系。这种组合不是任意的,而是受到语义、语法、语体和文化的制约。只有熟悉和掌握了英语搭配,才能真正做到让英语单词“为我所用”,地道自然地传达思想,与人高效沟通。本词典收录搭配丰富,逾9,000个常用英语词条,达150,000个搭配词组;例句真实自然,50,000条示例全部选自语料库;专辟25个不同主题的用法说明,加深对搭配词应用的理解;附学习页,通过练习透彻理解英语搭配,巩固学习效果。
牛津短语动词词典
牛津短语动词词典(外研社引进,英汉双解版)收录英美常用短语动词近6,000条,理解与应用并重;示例10,500条,取材自语料库,以反映实际用法;大量语法、用法说明,提高语言运用准确度;附研习专页,进一步介绍短语动词的学习与应用。
新闻英语分类词典
外研社出版的又一精品!这本书收集了新闻常用词、词语及例句近万个。其中还包括重要人物、历史事件、文化流派、组织名称、典故及其出处,以及最新的科技词汇,并附有世界主要通词社,英语电台、电视台、英文报纸、杂志及联合国主要机构的名称。书中对新闻词汇归纳得非常好,包含了不少BBC,CNN以及经济学人等新闻报道中经常出现的词汇。想系统学一下新闻词汇的同学可以去看一下。
如何选择适合自己的英文词典
根据前面的介绍,我们可以根据个人的情况来选择相应的英英词典。
对于新手,如果你之前从来没用过英英词典,词汇量在6000以下,建议你从柯林斯词典入手,搭配上其他的ESL词典
如果你是中级学习者,推荐使用朗文英英5等ESL词典,再搭配上韦氏大学词典和美国传统词典。
高手的话建议在使用ESL词典之外多使用母语词典。
4. 电子资源的介绍及更多
前面介绍的这么多词典都是大部头,如果都买纸质版的话携带和使用起来都挺不方便。好在近些年电子词典也发展起来了。上面绝大部分词典都有相应的软件和app. 当然纸质版有纸质版的好处,比如说你平时可以随意翻翻词典,把它当成书来读。我每次翻字典时都有新的发现,比如说又学到了一个很漂亮的表达,或者是一个很实用的词组,一个新的单词。这种体验是软件所不能带给你的
我在写这篇文章时手头就放着几本词典:
常用的词典app有这几个
但是一个个app安装使用起来也有不方便的地方。有没有一键解决方案呢?有,答案就是我之前介绍过的开源词典平台,比如说下面这几个:
以Mdict为例,Mdict 是一款跨平台的开放的电子辞典平台,软件本身不提供辞典数据,而是使用用户自己制作的辞典数据。网上有大量用户转换制作的词典可供下载,包括百科等,还可以自己制作词库。这是我安卓手机上的Mdict软件,加载了常用的十几本词典,可以实现多词典同步查词,非常非常好用。具体的词典使用教程请自己上网找。
再推荐几个很好用的电子词典资源:
非常好用的网站,这是一个能让你学单词而不只是背单词的地方。网站免费,ios版app 售价18元,但绝对物超所值。
韦氏可视化词典
如图所示,这个网站非常强大,所有单词采用图解的方式来说明,内容非常详细,单词还配有发音。推荐大家没事上去看看,可以积累一些平时经常见到但又不知道怎么表达的单词。
当然,有时候可能还会碰到一些比较少见的词,比如下面经济学人13年纪念曼德拉的文章标题
Invictus这个词在很多词典中是查不到的,这个时候就要动用谷歌了(谷歌大法好)。搜了一下发现,Invictus是一个拉丁词汇,意思是“不可战胜的”。同时,这也是威廉姆恩内斯特亨里(William Ernest Henley)写于1875年的一首诗。据说,曼德拉曾多次默念过这首诗。这时候才理解作者为什么要用invictus做标题了。 内事问百度,外事问谷歌
C# C/S网络编程 由于系统缓存空间不足或列队已满,不能执行套接字上的操作
改成以下代码试试
public void ReceiveMsg()
{
// 启动异步接收
IAsyncResult iar = udpReceiveClient.BeginRecevice(
new AsyncCallback(ReceiveCallback),
udpReceiveState);
}
private void ReceiveCallback(IAsyncResult iar)
{
// 继续异步接收
ReceiveMsg();
// 完成前一次异步接收EndReceive处理
UdpState udpReceiveState = iar.AsyncState as UdpState;
//……
}
要注意的是:
1)Socket异步接收处理过程中用到了.net framework内部线程池,而线程池中线程的数量是有限制的。
2)ReceiveMsg中的 while(true)循环是多余的
3)ReceiveMsg中的 lock(this) 没有意义
4)WaitOne, Sleep() 都是多余的
long 11=*(long *)arg1; long 12=*(long *)arg2; 什么意思,是C网络编程
long 11=*(long *)arg1; —— 定义一个long型变量ll,并用指针arg1所指内存单元的值初始化ll。(long *)arg1 是将指针arg1的类型转换为long*。
long 12=*(long *)arg2; ——与上面语句类似。