#功能添加
上文算是个功能完善的聊天服务器, 但是拓展功能有限. 而且不能解释命令, 因此需要增加对与身份和命令解释的支持, 而且还要确保按照每个会话的状态采取适当的行为.
###基础命令解释
比如, 输入say, hello world
, 程序应当执行do_say("hello world")
.
#功能添加
上文算是个功能完善的聊天服务器, 但是拓展功能有限. 而且不能解释命令, 因此需要增加对与身份和命令解释的支持, 而且还要确保按照每个会话的状态采取适当的行为.
###基础命令解释
比如, 输入say, hello world
, 程序应当执行do_say("hello world")
.
#背景
互联网上在线聊天服务的种类很多, 如IRC, 在Python中实现这样一个方法, 可以使用Twisted
框架.
自己写一个的原因:
学习网络编程基本的知识
看书笔记总结
聊天服务器基本的功能如下:
#socket 模块 在网络编程中的一个基本组件就是套接字(socket).套接字主要是两个程序之间的”信息通道”
套接字包括:服务器套接字和客户机套接字, 创建一个服务器套接字后, 就让他等待连接, 这样他就在某个网络地址处(IP地址和一个端口号的组合)监听.
一个套接字就是一个socket模块中的socket类的实例. 他的实例化需要3个参数:
地址族(默认是
socket.AF_INET
)
流套接字(默认是socket.SOCK_STREAM
)或数据报套接字
使用的协议(默认是0)
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
该方法的基本思想是:
1.先从数列中取出一个数作为基准数。
2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
3.再对左右区间重复第二步,直到各区间只有一个数。
其中Partion算法是算法的核心,可以从左右两端同时开始,这样快一些,示例图如下:
Recent Comments