저는 POCO 라이브러리를 처음 사용하고 있으며 튜토리얼 pdf에서 net 예제를 수행하고 있습니다.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
편집 : 예외의 displayText()
에 대한 제안 요아킴 Pileborg에 대한
감사합니다. 그것은이 표시됩니다 : "순 예외 : 대상 주소가 필요합니다"
그리고이 같은 코드를 수정하고 일 :
Poco::Net::SocketAddress recver("localhost", 1234);
dgs.sendTo(syslogMsg.data(), syslogMsg.size(), recver);
을하지만 sendBytes()
를 사용하려는 경우에 넣을 수있는 방법이 기본 수신기의 주소 ??
예외를 잡으려고 시도했는데 그 안에 정보가 있으면 인쇄 해 보셨습니까? 예 : ['Exception'] (http://pocoproject.org/docs/Poco.Exception.html) 클래스의'displayText()'함수. –