上一页 1 ··· 103 104 105 106 107 108 109 110 111 ··· 156 下一页

2012年12月23日

多任务处理:多线程

摘要: 我们在前面所介绍的基本TCP响应服务器一次只能处理一个客户端的请求。当一个客户端向一个已经被其他客户端占用的服务器发送连接请求时,虽然其在连接建立后即可向服务器端发送数据,服务器端在处理完已有客户端的请求前,却不会对新的客户端作出响应,。这种类型的服务器称为"迭代服务器(iterative ... 阅读全文

posted @ 2012-12-23 09:39 吴一达 阅读(327) 评论(0) 推荐(0) 编辑

2012年12月21日

搜索引擎三国鼎立:百度 vs 360 vs 搜狗

摘要: 理论上说,搜索市场不存在平分秋色的可能,不管份额如何接近,最终必然是东风压倒西风,这一点在全球市场都未见过反例。雅虎在日本和台湾独占鳌头,Naver在韩国有压倒性优势,Yandex称霸俄罗斯。谷歌在全球大部分市场占垄断地位,在至少30个国家和地区占有90%以上的份额。当然,在中国大陆把持搜索... 阅读全文

posted @ 2012-12-21 21:15 吴一达 阅读(341) 评论(0) 推荐(0) 编辑

2012年12月20日

投票协议:发送和接收

摘要: 通过流发送消息非常简单,只需要创建消息,调用toWire()方法,添加适当的成帧信息,再写入流。当然,接收消息就要按照相反的顺序执行。这个过程适用于TCP协议,而对于UDP协议,不需要显式地成帧,因为UDP协议中保留了消息的边界信息。为了对发送与接收过程进行展示,我们考虑投票服务的如下几点:1... 阅读全文

posted @ 2012-12-20 14:17 吴一达 阅读(337) 评论(0) 推荐(0) 编辑

投票协议:二进制表示方法

摘要: 二进制表示方法 下面我们将展示另一种对投票协议消息进行编码的方法。与基于文本的格式相反,二进制格式使用固定大小的消息。每条消息由一个特殊字节开始,该字节的最高六位为一个"魔术"值010101。这一点少量的冗余信息为接收者收到适当的投票消息提供了一定程度的保证。该字节的最低两位对两个布尔值进... 阅读全文

posted @ 2012-12-20 14:14 吴一达 阅读(224) 评论(0) 推荐(0) 编辑

投票协议:基于文本的表示方法

摘要: 首先,我们介绍一个用文本方式对消息进行编码的版本。该协议指定使用US-ASCII字符集对文本进行编码。消息的开头是一个所谓的"魔术字符串",即一个字符序列,用于接收者快速将投票协议的消息和网络中随机到来的垃圾消息区分开。投票/查询布尔值被编码成字符形式,'v'表示投票消息,'i'表示查询消息。... 阅读全文

posted @ 2012-12-20 14:13 吴一达 阅读(217) 评论(0) 推荐(0) 编辑

投票协议:构建和解析协议消息

摘要: 我们再看一个简单的例子,对在实现别人定义的协议时可能用到的技术进行了介绍。这个例子程序是一个简单的"投票"协议,如图3.2所示。这里,一个客户端向服务器发送了一个请求消息,消息中包含了一个候选人ID,范围是0至1000。 Vote Reques:投票请求, Candidate:候选人,Vot... 阅读全文

posted @ 2012-12-20 14:11 吴一达 阅读(195) 评论(0) 推荐(0) 编辑

2012年12月19日

通信:成帧与解析

摘要: 成帧与解析 当然,将数据转换成在线路上传输的格式只完成了一半工作,在接收端还必须将接收到的字节序列还原成原始信息。应用程序协议通常处理的是由一组字段组成的离散的信息。成帧(Framing)技术则解决了接收端如何定位消息的首尾位置的问题。无论信息是编码成了文本、多字节二进制数、或是两者的结合... 阅读全文

posted @ 2012-12-19 11:03 吴一达 阅读(311) 评论(0) 推荐(0) 编辑

通信:组合输入输出流

摘要: 组合输入输出流 Java中与流相关的类可以组合起来从而提供强大的功能。例如,我们可以将一个Socket实例的OutputStream包装在一个BufferedOutputStream实例中,这样可以先将字节暂时缓存在一起,然后再一次全部发送到底层的通信信道中,以提高程序的性能。我们还能再将... 阅读全文

posted @ 2012-12-19 10:59 吴一达 阅读(123) 评论(0) 推荐(0) 编辑

信息编码:位操作布尔值编码

摘要: 位操作:布尔值编码 位图(Bitmaps)是对布尔信息进行编码的一种非常紧凑的方式,通常用在协议中。位图的主要思想是整型数据中的每一位都能够对一个布尔值编码--通常是0表示false,1表示true。要操纵位图,你需要了解如何使用Java中的"位操作"方法来设置和清除单独的一位。掩码(ma... 阅读全文

posted @ 2012-12-19 10:53 吴一达 阅读(161) 评论(0) 推荐(0) 编辑

信息编码:字符串和文本

摘要: 字符串和文本 历史悠久的文本(可打印,即可显示的字符串)可能是用来表示信息最常用的方式。文本使用起来非常方便,因为人们习惯于处理各种各样以字符串形式表示的信息,如书本中,报纸中,以及电脑显示器上的信息。因此,只要我们指定如何对要传输的文本进行编码,我们就几乎能发送其他任何类型的数据:先将其... 阅读全文

posted @ 2012-12-19 10:52 吴一达 阅读(278) 评论(0) 推荐(0) 编辑

上一页 1 ··· 103 104 105 106 107 108 109 110 111 ··· 156 下一页

导航