上一页 1 ··· 312 313 314 315 316 317 318 319 320 ··· 329 下一页
摘要: 并发客户端服务器到现在为止我们所介绍的这些服务器 程序,在接受下一个客户端连接之前只处理一个客户端请求。这对于即时回复的服务器来说是高效且简单的。然而,如果处理要花费较长时间,或者有一段不活动时 期,这样的设计就会无限制的阻止其他客户端的连接。因为服务器通常在最小的延迟时间内服务尽可能多的客户端,在服务器的连接端需要一个基础设计的改变。在这一章,我们将会学到下面的一些内容:为处理多个客户端连接使用fork(2)函数wait(2)与waitpid(2)函数处理多个客户端连接的select(2)函数掌握了这些内容可以使得我们编写一次处理大量客户端的专业级服务器。理解多客户端的问题图11.1显示了多 阅读全文
posted @ 2007-10-12 17:15 jlins 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 在套接口上使用标准I/O在前面章节的例子代码中我 们已经使用了read(2)或是write(2)系统调用在套接口上执行读取和写入操作。这个规则的一个例外就是recvfrom(2)和sendto (2)函数,这两个函数用来读写数据报。然而,使用read和writte函数调用却有一些程序上的缺点。这一章我们将会讨论以下内容:如何使用fdopen(3)将一个套接口与一个FILE流相关联如何创建并读写FILE流关闭与套接口相关联的流的问题为我们的FILE流选择并创建合适的缓冲技术中断系统调用的问题掌握了这些内容将为我们提供解决我们网络程序的额外方法。理解标准I/O的需要Linux中的stdio(3)程 阅读全文
posted @ 2007-10-12 09:14 jlins 阅读(1283) 评论(0) 推荐(0) 编辑
摘要: 主机名与网络名查询在这一章,我们将会了解以下内容:如何确定我们的本地主机名如何将主机名解析为IP地址如何将IP地址解析为主机名一旦我们学完这一章,我们就可以在我们的客户端与服务器程序中使用主机名或是IP地址。理解名字的需要人们喜欢使用和记住名字,而不是IP地址。在网络世界中,名字实际上为我们解决了许多问题:他们为一个网站提供了人类友好的引用他们可以允许IP地址改变,而名字保持不变他们允许为同一个主机或是服务指定多个IP地址我们已经理解比起IP地址来,名字提供了更为简单的引用。然而,另外一点就是名字可以保持不变,而允许主机的IP地址发生变化。IP地址的变化通常是因为网络的变化,ISP的变化,设备 阅读全文
posted @ 2007-10-08 22:49 jlins 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 面向无连接的协议直到这时,我们实际了忽略了套接口通信的大部分内容。相反,我们关注于创建套接口,绑定地址以及关闭套接口。现在我们要实际使用套接口了。对于套接口有两种基本的通信模式。他们是面向无连接的通信与面向连接的通信。在这一章,我们将会了解下面内容:面向无连接通信与面向连接通信之间的区别如何执行无连接的输入与输出操作如何编写一个数据报服务器如何编写一个数据报客户端现在我们来关注一下面向无连接通信与面向连接通信之间的区别。通信方法正如我们所想到的,面向无连接的通信在通信开始之前并不需要建立连接。这就像一个拿着护音器在嘈杂中向一个人喊话一样。对于每一次新的喊话,发送消息的人可以将他的话传递到另一个 阅读全文
posted @ 2007-07-03 16:20 jlins 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 将地址绑定到一个套接口在前面的章节中我们准备了足够的知识来创建套接,并且格式化套接口地址。这一章将会这些基础上进行扩展我们将会理解bind是如何工作的,并且如何来正确的使用。在这一章,我们将会学到下列内容:bind函数如何将一个地址赋给一个套接口如何由一个已经具有地址的套接口得到本地套接口地址如何得到同等的套接口地址bind如何选择用于通信的网络接口bind函数的目的当我们用socket函数创建套接口时,他们是无名套接口。当演示socket函数时,这些套接口没有地址,但是也可以使用。然而,这些套接口可以工作只是因为他们是用这样的方法来创建的,在同一个Linux内核内。对于连接两个不同的主机的套 阅读全文
posted @ 2007-07-01 00:49 jlins 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 套接口类型与协议在第一章我们看到了如何使用socketpair函数来创建一对本地套接口。在这一章我们将会了解使用socket函数来创建一个套接口。通常情况下这两个函数都有域,套接口类型,以及协议参数。这一章将会建立在前几章的基础之上,并且主要关注于socket函数调用。这包括下面的一些内容:域参数套接口类型参数协议参数指定一个套接口的域在 第一章,我们可以看到,对于socketpair函数,域参数必须为AF_LOCAL或是AF_UNIX(这两个值是等同的)。然后在第二章,我们可以注 意到我们使用了socket函数调用,并且将其域参数指定为AF_INET。在这些以及其他的情况下,我们可以推测出域 阅读全文
posted @ 2007-06-12 21:20 jlins 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 设置一个程序Symfony将所有相关的程序组织在一个工程中。一个工程的所有程序共享同一个数据库。为了设置一个程序,我们必须首先设置一个工程。创建工程每一个Symfony工程遵循一个预定义的目录结构。Symfony命令行通过使用正确的树结构与访问权限来初始化一个工程的框架,从而自动化一个工程的创建。所以创建一个工程,只是简单的创建一个目录,并且要求symfony将其组织成为一个工程。创建一个工程,我们可以执行下面的命令:mkdir ~/myprojectcd ~/myprojectsymfony init-project myprojetcsymfony必须在工程的根目录下进行调用,因为这个命令 阅读全文
posted @ 2007-06-11 10:43 jlins 阅读(656) 评论(0) 推荐(0) 编辑
摘要: Symfony是一个优秀的PHP框架,在Debina下安装Symfony却显示更为的简单,因为在Debian的安装源中就有Symfony,这样我们就可以用具有超级牛力的APT来进行安装了。# apt-get update# apt-get install php5-symfony哈哈~~Debian下的生活好简单。这样以后我们就可以用Symfony来架设我们的PHP程序了~~HOHO~~ Symfony是一个优秀的PHP框架,在Debina下安装Symfony却显示更为的简单,因为在Debian的安装源中就有Symfony,这样我 们就可以用具有超级牛力的APT... 阅读全文
posted @ 2007-06-10 23:44 jlins 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 地址转换函数上一章中,我们已经了可以分配与初始化各种类型的套接口。这些是由一个常量进行初始化的简单例子。由一个使用变化地址的C字符串设置一个地址需要更多的编程努力。在这一章,我们将会关注建立网络地址的传统问题,以及了解可以在这一领域帮助我们的函数。在这一章,我们了解到如下内容:网络地址分类IP网络掩码私有的以及保留的IP地址IP转换函数然而在我们开始之前,这是一个很好的机会来回顾一下IP地址的设计。这样我们就会更为理解我们将要进行的工作。网络IP地址IP地址是由四个十进制数组成的,其中由十进制的点来分隔,通常为点。每一个十进制值以网络字节顺序来表示一个字节的无符号值。在这里我们记住网络字节顺序 阅读全文
posted @ 2007-06-07 20:47 jlins 阅读(551) 评论(0) 推荐(0) 编辑
摘要: 为了向我们的程序提供数据,Adobe Flex包含特别为与网络服务,HTTP服务器,或者是远程对象服务(Java对象)进行交互而设计的组件。这些组件被称之为远程过程调用(RPC)服务组件。在这一节,我们将会为一个Blog创建一个简单程序,这个程序会列出过去30天内最受欢迎的文章。我们可以决定要列出的文章的数目。我们使用一个名为WebService的RPC服务组件来发送用户的选择,并且由Blog网站所提供的基于SOAP的网络服务获取数据,然后我们在一个DataGrid控件中来是显示这些数据。设置工程在我们开始这一节之前,我们需要完成下面的任务:创建Lessons工程确保打开了自动编译选项回顾到远 阅读全文
posted @ 2007-06-06 22:39 jlins 阅读(149) 评论(0) 推荐(0) 编辑
上一页 1 ··· 312 313 314 315 316 317 318 319 320 ··· 329 下一页