diff --git a/ndn-cpp/transport/tcp-transport.cpp b/ndn-cpp/transport/tcp-transport.cpp
index a0a53de..248a613 100644
--- a/ndn-cpp/transport/tcp-transport.cpp
+++ b/ndn-cpp/transport/tcp-transport.cpp
@@ -25,6 +25,7 @@
     (&elementReader_, &node, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
   
   // TODO: Properly indicate connected status.
+  isConnected_ = true;
   node_ = &node;
 }
 
@@ -52,6 +53,11 @@
   ndn_BinaryXmlElementReader_onReceivedData(&elementReader_, buffer, nBytes);
 }
 
+bool TcpTransport::getIsConnected()
+{
+  return isConnected_;
+}
+
 void TcpTransport::close()
 {
   ndn_Error error;
diff --git a/ndn-cpp/transport/tcp-transport.hpp b/ndn-cpp/transport/tcp-transport.hpp
index 1028def..4190600 100644
--- a/ndn-cpp/transport/tcp-transport.hpp
+++ b/ndn-cpp/transport/tcp-transport.hpp
@@ -15,7 +15,7 @@
 class TcpTransport : public Transport {
 public:
   TcpTransport() 
-  : node_(0)
+  : node_(0), isConnected_(false)
   {
     ndn_TcpTransport_init(&transport_);
     elementReader_.partialData.array = 0;
@@ -43,6 +43,8 @@
    */
   virtual void processEvents();
 
+  virtual bool getIsConnected();
+
   /**
    * Close the connection to the host.
    */
@@ -52,6 +54,7 @@
   
 private:
   struct ndn_TcpTransport transport_;
+  bool isConnected_;
   Node *node_;
   // TODO: This belongs in the socket listener.
   ndn_BinaryXmlElementReader elementReader_;
diff --git a/ndn-cpp/transport/transport.cpp b/ndn-cpp/transport/transport.cpp
index cbcb659..feb1345 100644
--- a/ndn-cpp/transport/transport.cpp
+++ b/ndn-cpp/transport/transport.cpp
@@ -25,6 +25,11 @@
   throw logic_error("unimplemented");
 }
 
+bool Transport::getIsConnected()
+{
+  throw logic_error("unimplemented");
+}
+
 void Transport::close()
 {
 }
diff --git a/ndn-cpp/transport/transport.hpp b/ndn-cpp/transport/transport.hpp
index 9159b99..6fe4534 100644
--- a/ndn-cpp/transport/transport.hpp
+++ b/ndn-cpp/transport/transport.hpp
@@ -40,6 +40,8 @@
    */
   virtual void processEvents() = 0;
 
+  virtual bool getIsConnected();
+  
   /**
    * Close the connection.  This base class implementation does nothing, but your derived class can override.
    */
diff --git a/ndn-cpp/transport/udp-transport.cpp b/ndn-cpp/transport/udp-transport.cpp
index b1d90e8..42551ad 100644
--- a/ndn-cpp/transport/udp-transport.cpp
+++ b/ndn-cpp/transport/udp-transport.cpp
@@ -25,6 +25,7 @@
     (&elementReader_, &node, (unsigned char *)malloc(initialLength), initialLength, ndn_realloc);
   
   // TODO: Properly indicate connected status.
+  isConnected_ = true;
   node_ = &node;
 }
 
@@ -52,6 +53,11 @@
   ndn_BinaryXmlElementReader_onReceivedData(&elementReader_, buffer, nBytes);
 }
 
+bool UdpTransport::getIsConnected()
+{
+  return isConnected_;
+}
+
 void UdpTransport::close()
 {
   ndn_Error error;
diff --git a/ndn-cpp/transport/udp-transport.hpp b/ndn-cpp/transport/udp-transport.hpp
index ceeda72..76c3f36 100644
--- a/ndn-cpp/transport/udp-transport.hpp
+++ b/ndn-cpp/transport/udp-transport.hpp
@@ -15,7 +15,7 @@
 class UdpTransport : public Transport {
 public:
   UdpTransport() 
-  : node_(0)
+  : node_(0), isConnected_(false)
   {
     ndn_UdpTransport_init(&transport_);
     elementReader_.partialData.array = 0;
@@ -43,6 +43,8 @@
    */
   virtual void processEvents();
   
+  virtual bool getIsConnected();
+
   /**
    * Close the connection to the host.
    */
@@ -52,6 +54,7 @@
   
 private:
   struct ndn_UdpTransport transport_;
+  bool isConnected_;
   Node *node_;
   // TODO: This belongs in the socket listener.
   ndn_BinaryXmlElementReader elementReader_;
