POCO :: NET :: TCPServer& TCPConnection传入数据包处理程序?

时间:2013-06-08 09:51:21

标签: c++ poco-libraries

我在文档等中找不到它。

我想在新数据包到来时执行类似函数onPacket()的请求处理程序。

有可能这样做吗?

我目前正在运行的功能:

void run()
{
    Application& app = Application::instance();
    app.logger().information("Request from " + this->socket().peerAddress().toString());
    try
    {
 char  ip[] = "188.xx.xx.xx";
 char port[] = "11001";
        char * data = new char [strlen(ip) + strlen(port) + 13]();
  data[0] = 30;
  data[4] = strlen(ip) + strlen(port) + 4;
  for(int i =0;i<strlen(ip);i++)
  {
   data[8+i] = ip[i];
  }
  data[8 + strlen(ip)] = 0x20;
  for(int i = 0;i<strlen(port);i++)
  {
   data[9 + strlen(ip) + i] = port[i];
  }

        socket().sendBytes(data, strlen(ip) + strlen(port) + 13);
  delete [] data;
    }
    catch (Poco::Exception& exc)
    {
        app.logger().log(exc);
    }
}

我想在打包处理程序循环之后做。

1 个答案:

答案 0 :(得分:0)

试试这个:

Poco::Net Server & Client TCP Connection Event Handler

您可以使用反应堆模式。

此致