2
我是POCO lib的新手,我正在做pdf教程的網絡示例。C++ Poco庫UDP DatagramSocket發送示例提高Poco :: Net :: NetException
當我運行DatagramSocket發送示例時,我總是得到一個Poco :: Net :: NetException。
如果我使用教程給出的端口'514',我將得到Poco :: IOException「I/O Error」。
我的環境是kubuntu 12.04,kernel 3.2.0-57-generic。任何人都知道這個?謝謝!!
// DatagramSocket send example
#include <Poco/Net/DatagramSocket.h>
#include <Poco/Net/SocketAddress.h>
#include <Poco/Timestamp.h>
#include <Poco/DateTimeFormatter.h>
#include <string>
int main()
{
Poco::Net::SocketAddress sa(Poco::Net::IPAddress(), 12345);
Poco::Net::DatagramSocket dgs(sa);
std::string syslogMsg;
Poco::Timestamp now;
syslogMsg = Poco::DateTimeFormatter::format(now, "<14>%w %f %H:%M:%S Hello, World!");
dgs.sendBytes(syslogMsg.data(), syslogMsg.size());
return 0;
}//main
編輯:
感謝約阿希姆Pileborg有關異常的displayText()
建議。它顯示了這一點:「淨異常:目的地址需要」
而且我修改這樣的代碼和它的工作:
Poco::Net::SocketAddress recver("localhost", 1234);
dgs.sendTo(syslogMsg.data(), syslogMsg.size(), recver);
但是,如果我想使用sendBytes()
,有把的方式一個默認的接收者地址?
您是否嘗試捕獲異常,並打印可能包含的任何信息?使用例如['Exception'](http://pocoproject.org/docs/Poco.Exception.html)類的'displayText()'函數。 –