//----------------------------------------------------------------------------- // 描述: TCP连接上的一个接收任务已完成 //----------------------------------------------------------------------------- void AppBusiness::onTcpRecvComplete(const TcpConnectionPtr& connection, void *packetBuffer, int packetSize, const Context& context) { logger().writeStr("onTcpRecvComplete"); string msg((char*)packetBuffer, packetSize); msg = trimString(msg); if (msg == "quit") connection->disconnect(); else connection->send((char*)packetBuffer, packetSize); logger().writeFmt("Received message: %s", msg.c_str()); }
void AppBusiness::onTcpConnected(const TcpConnectionPtr& connection) { const int MAX_CONN_COUNT = 3; logger().writeFmt("onTcpConnected (%s) (ConnCount: %d)", connection->getPeerAddr().getDisplayStr().c_str(), connection->getServerConnCount()); int connCount = connection->getServerConnCount(); if (connCount > MAX_CONN_COUNT) { logger().writeFmt("Too many connections. (ConnCount: %d)", connCount); connection->disconnect(); } else { string msg = "Welcome to the simple echo server, type 'quit' to exit.\r\n"; connection->send(msg.c_str(), msg.length()); } }
void ServerModule_Daytime::onTcpSendComplete(const TcpConnectionPtr& connection, const Context& context) { logger().writeStr("onTcpSendComplete"); connection->disconnect(); }