src/proto2/NetworkTCP.cc
branchno-netsession
changeset 33 e53f09b378f4
parent 32 2ff929186c90
child 34 1ea6554d703e
--- a/src/proto2/NetworkTCP.cc	Mon Nov 10 18:21:23 2008 +0000
+++ b/src/proto2/NetworkTCP.cc	Mon Nov 10 19:57:57 2008 +0000
@@ -249,6 +249,10 @@
     sig_disconnect();
 }
         
+NetworkAddress NetworkTCPTransport::getRemoteAddress (void) {
+    return socket.get_dest_address();
+}
+
 void NetworkTCPTransport::write_packet (const NetworkPacket &packet) {
     uint16_t prefix = packet.get_data_size();
     
@@ -278,12 +282,16 @@
     NetworkSocket client_sock = socket.accept();
 
     // create a new NetworkTCPTransport
-    NetworkTCPTransport *client = new NetworkTCPTransport(client_sock);
-
+    NetworkTCPTransport *client = buildTransport(client_sock);
+        
     // let our user handle it
     sig_client(client);
 }
         
+virtual NetworkTCPTransport NetworkTCPServer::buildTransport (CL_Socket &socket) {
+    return new NetworkTCPTransport(client_sock);
+}
+        
 NetworkTCPClient::NetworkTCPClient (const NetworkAddress &connect_addr) :
     NetworkTCPTransport(NetworkSocket(tcp, ipv4)) {