//----------------------------------------------------------------------------- // 描述: TCP连接上的一个发送任务已完成 //----------------------------------------------------------------------------- void AppBusiness::onTcpSendComplete(const TcpConnectionPtr& connection, const Context& context) { logger().writeStr("onTcpSendComplete"); connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); // connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT, RECV_TIMEOUT); //connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); }
void AppBusiness::onTcpConnected(const TcpConnectionPtr& connection) { logger().writeFmt("onTcpConnected (%s) (ConnCount: %d)", connection->getPeerAddr().getDisplayStr().c_str(), connection->getServerConnCount()); connection->recv(); }
void ServerModule_Chargen::onTcpRecvComplete(const TcpConnectionPtr& connection, void *packetBuffer, int packetSize, const Context& context) { logger().writeFmt("[%s] Discarded %u bytes.", connection->getConnectionName().c_str(), packetSize); connection->recv(); }
//----------------------------------------------------------------------------- // 描述: TCP连接上的一个接收任务已完成 //----------------------------------------------------------------------------- void AppBusiness::onTcpRecvComplete(const TcpConnectionPtr& connection, void *packetBuffer, int packetSize, const Context& context) { logger().writeStr("onTcpRecvComplete"); char *dataptr=(char*)packetBuffer; string msg((char*)dataptr+2, packetSize-2); Json::Reader reader; Json::Value value; if (reader.parse(msg, value)) { uint32 n = value["type"].asUInt(); if(isExist(n)) { if(!value.isMember("data")) { connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); return; } if(value["data"].isMember("cid")) { connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); return; } value["data"]["cid"]=connection.get()->getSocket().getHandle(); sendToDb(value); } else { msgProcess(connection,n,value["data"]); } } logger().writeFmt("Received message: %s", msg.c_str()); connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); }
void ServerModule_Chargen::onTcpConnected(const TcpConnectionPtr& connection) { logger().writeFmt("onTcpConnected (%s) (ConnCount: %d)", connection->getPeerAddr().getDisplayStr().c_str(), connection->getServerConnCount()); connection->setNoDelay(true); connection->recv(); connection->send(message_.c_str(), message_.length()); }
//----------------------------------------------------------------------------- // 描述: 接受了一个新的TCP连接 //----------------------------------------------------------------------------- void AppBusiness::onTcpConnected(const TcpConnectionPtr& connection) { logger().writeFmt("onTcpConnected (%s) (ConnCount: %d)", connection->getPeerAddr().getDisplayStr().c_str(), connection->getServerConnCount()); //string msg = "Welcome to the simple echo server, type 'quit' to exit.\r\n"; //ConnetManager::instance().add(connection); connection->recv(SELF_PACKET_SPLITTER, EMPTY_CONTEXT); }
void AppBusiness::onTcpRecvComplete(const TcpConnectionPtr& connection, void *packetBuffer, int packetSize, const Context& context) { string msg((const char*)packetBuffer, packetSize); logger().writeFmt("[%s] Discarded %u bytes.", connection->getConnectionName().c_str(), packetSize); std::cout << msg; connection->recv(); }
void AppBusiness::onTcpSendComplete(const TcpConnectionPtr& connection, const Context& context) { logger().writeStr("onTcpSendComplete"); connection->recv(LINE_PACKET_SPLITTER); }