摘要:       对于镜像服务端来说,支持同时多个连接的能力是非常有用的,但是这也对服务端的实际功能没有多大的改变。每个客户端只跟服务端交互,甚至不跟其它客户端进行间接地交互。这是一个流行的模型,WEB 服务器和 MAIL 服务器都使用这种模型。       这里还有另外的一个类型的服务端:用于连接每个... 阅读全文
posted @ 2010-02-22 22:04 虾米狼 阅读(1936) 评论(0) 推荐(0) 编辑
摘要: 前面实现的两个服务端有一个共同的问题就是:一次只允许一个客户端连接。如果你打开两个 telnet 会话来连接同一个服务端, 那么第二个会话只有在关闭第一个会话之后才能连接上。如果一个实际的服务端像这个工作,那么什么事都将做不了。这就是为什么大部分实际的服务端都采用线程或子进程来处理多个连接。 SocketServer 模块定义了两个有用的类来处理多个连接:ThreadingMixIn 和 For... 阅读全文
posted @ 2010-02-21 10:51 虾米狼 阅读(2823) 评论(0) 推荐(0) 编辑
摘要: 尽管 Sockets 非常的有用,但是 Python 并不满足于仅提供一个在大多数操作系统和大多数编程语言都提供的基于 C 语言似的 Socket 接口。 Python 走得更远,提供了 SocketServer——一个提供让你可以用简单的代码编写基于 socket 的复杂服务端的类集合的模块。 建立一个 SocketServer 所要做的大部分工作是定义一个请求处理( request hand... 阅读全文
posted @ 2010-02-20 10:50 虾米狼 阅读(5008) 评论(0) 推荐(0) 编辑
摘要: 接上一篇,当你尝试在另外一台机器上 telnet 到 SuperSimpleSocketServer 时,正如前面所说的,你会发现你没有办法连接到服务端。这是因为你是将服务端绑定到 localhost。"localhost”是一个特殊的主机名,它仅仅是一个内部的主机名,你没有办法从另外一台电脑上访问它。毕竟,从别人的角度看,"localhost”是指他们的电脑,而不是你的电脑。 这样做在实际上非... 阅读全文
posted @ 2010-02-19 14:03 虾米狼 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 从今天开始从《Beginning Python》中翻译相关的文章进行学习,主要是关于网络编程方面。今天开始第一篇。 当你要求 imaplib 或者 smtplib 连接到某台主机的某个端口里,在这后面 Python 打开一个连接到那个主机和端口。连接一旦建立,服务端就打开一个相应的连接到你的电脑。Python的 “Sockets” 对象将进入和出去的连接隐藏在一个界面底下。一个 Socket 就... 阅读全文
posted @ 2010-02-17 22:40 虾米狼 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: 转眼间,两年半的时间就这样过去了。 在这两年的时间里,自己虽然每天都忙碌而又充实地度过。但是那不是我想要的生活,那只是因为职责所在,必须这样做。因此两年多的时间整个人没有自己的主见,没有自己的方向。只是因为上面要求做,才去做。而自己真正想做的却没有。 两年半的时间,没有时间去做自己喜欢做的事,也没有氛围和心情去做自己想做的事。一切都只是在看似忙碌,实则空虚地反复折腾中度过。这其中有自己的的原因,也... 阅读全文
posted @ 2010-02-16 20:27 虾米狼 阅读(275) 评论(0) 推荐(0) 编辑