第七页:遗留问题

by Brian Slesinsky

有一点需要强调,这个服务器只可作为你继续工作的起点,而决不是最终产品。如果你希望在你的系统中运行它,还有许多的工作要做。比如以下几件:

输入缓冲:在前文我对recv( )函数并没有做正确的阐述——在同一时刻并不总能接到一行信息。真正的交谈服务器需要把 recv( )的结果加到一个缓冲器里,再通过行截断符把每行分开。

输出缓冲:如果一个用户将Telnet进程延迟了足够长的时间,调用send( )有可能会造成堵塞。但可以运用select( )来看是否有端口已准备好接收信息。

Telnet 协议的适当支持。

需要一些命令以供用户取得帮助、列出本交谈室的人和注销。

带有密码的实际的用户帐号。

多房间交谈。

去除噪声。

私人交谈

其它

两周之内(528日前):HTML模板。

Page 1: How to Write a Chat Server
Page 2: Socket Programming the Easy Way
Page 3: We Don?/FONT>t Wait for Nobody
Page 4: The Echo Chamber
Page 5: Now Broadcasting
Page 6: Keeping Track of Where You Were
Page 7: What?/FONT>s Left?

 


Brian Slesinsky is a former HotWired engineer. He left the company to work full-time on his death ray.