小编dat*_*ata的帖子

Poco :: Net服务器和客户端TCP连接事件处理程序

我正在开始一个新项目,同时刚刚发现了Poco图书馆,我发现它非常棒.但是我有点迷失,因为例子并不多.

我有一个ServerApplication-> TCPServer-> ServerSocket + TCPServerConnectionFactory-> TCPServerconnection方法,如例子所示.我按照指示从PocoNet类继承.现在我可以将我的服务器作为服务运行,并接收传入的连接.

我想采用以下事件处理方法:在每个连接(或每个客户端)的基础上,处理事件,例如可在客户端套接字上读取的数据,客户端套接字上发生的错误(断开连接或超时),发送客户端套接字上没有错误的数据

我该怎么做呢?Poco/Foundation/Events是我正在寻找的,还是在Poco :: Net中实现了一些机制?

我已经看过Poco :: Net :: NetExpections但是当netcat连接关闭时,它们似乎不会被我的TCPServerConnection派生类抛出.

c++ networking network-programming poco-libraries

11
推荐指数
2
解决办法
2万
查看次数

什么是PocoCapsule当前状态?

什么是PocoCapsule当前状态?它在不断发展吗?它是否与其他产品分开?关于IoC for C++的整体想法是什么?如果PocoCapsule没有发展,是因为IoC被认为对C++没用,不安全,其他模式出现或其他什么?

据我所知,实现IoC for C++的产品有2-3种,可能更少,PocoCapsule是最成熟的产品.

我在当前版本中看到了几个缺点(因为我从谷歌代码看到它是1.1):

  1. 没有单独的命名空
  2. 头文件必须在INCLUDE文件夹中正确 - 最好将它们放在子文件夹中.
  3. 生成工具依赖于Java.
  4. 默认情况下不构建静态链接库.
  5. 如果我不需要重新配置功能,则无法从setup.xml生成源代码以进行编译并与我的应用程序链接.

有没有人有同样的想法?有人在这份清单上工作吗?开始工作有什么障碍,比如专利吗?

c++ inversion-of-control

10
推荐指数
1
解决办法
1376
查看次数

poco c ++静态链接问题与未定义的符号引用

我正在尝试链接到POCO C++库的静态​​版本,如下所示:

g++ BCCMain.o -L$_POCO_LIBS -Wl,-Bstatic $_POCO_LIBS/libPocoFoundation.a $_POCO_LIBS/libPocoUtil.a $_POCO_LIBS/libPocoXML.a $_POCO_LIBS/libPocoJSON.a -Wl,-Bdynamic -o BCMain
Run Code Online (Sandbox Code Playgroud)

不幸的是,这给出了一些对符号的未定义引用的错误,例如:

Poco::Logger::get(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
Run Code Online (Sandbox Code Playgroud)

即使Poco::Logger::get(std::string const&)实际上是IS定义的libPocoFoundation.a.

现在,如果我尝试链接到基础库的共享版本,它可以工作:

g++ BCCMain.o -L$_POCO_LIBS -Wl,-Bstatic $_POCO_LIBS/libPocoFoundation.a $_POCO_LIBS/libPocoUtil.a $_POCO_LIBS/libPocoXML.a $_POCO_LIBS/libPocoJSON.a -Wl,-Bdynamic -lPocoFoundation -o BCMain
Run Code Online (Sandbox Code Playgroud)

lib的静态和共享版本具有相同的符号,因此我发现很难弄清楚我做错了什么.

Ubuntu的/ Linaro的.g ++ 4.6.3

c++ static-linking poco-libraries

5
推荐指数
2
解决办法
6266
查看次数

如何用“#”分割字符串并将结果存储在数据表中

我有这个字符串:

1#3.doc#0.036/n
2#1.doc#0.026/n
Run Code Online (Sandbox Code Playgroud)

我想将其拆分#并像这样将每一行放在DataTable中的一行中:

1    3.doc  0.036
2    1.doc  0.026
Run Code Online (Sandbox Code Playgroud)

我有一个这样的数据表:

DataTable table = new DataTable();
table.Columns.Add("Id", typeof(int));
table.Columns.Add("FileName", typeof(string));
table.Columns.Add("Content", typeof(string));
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

c# asp.net split

1
推荐指数
1
解决办法
7860
查看次数