ssage(const TcpConnectionPtr& conn, 16: Buffer* buf, 17: Timestamp receiveTime) 18: { 19: const char* crlf = buf->findCRLF(); 20: if (crlf) 21: { 22: string user(buf->peek(), crlf); 23: conn->send(getUser(user) + " "); 24: buf->retrieveUntil(crlf + 2); 25: conn->shutdown(); 26: } 27: } 28: 29: int main() 30: { 31: users["schen"] = "Happy and well"; 32: EventLoop loop; 33: TcpServer server(&loop, InetAddress(1079), "Finger"); 34: server.setMessageCallback(onMessage); 35: server.start(); 36: loop.loop(); 37: }
以上就是全部内容,可以用 telnet 扮演客户端来测试我们的简单 finger 服务端。
Telnet 测试
在一个命令行窗口运行
$ ./bin/twisted_finger07
另一个命令行运行
$ telnet localhost 1079
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is ^].
muduo
No such user
Connection closed by foreign host.
再试一次
$ telnet localhost 1079
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is ^].
schen
Happy and well
Connection closed by foreign host.