equal
deleted
inserted
replaced
13 // create TCP/UDP servers |
13 // create TCP/UDP servers |
14 tcp_srv = new NetworkTCPServer(addr); |
14 tcp_srv = new NetworkTCPServer(addr); |
15 udp_srv = new NetworkUDP(addr); |
15 udp_srv = new NetworkUDP(addr); |
16 |
16 |
17 // connect signals |
17 // connect signals |
18 slots.connect(tcp->sig_client, this, &NetworkSession::on_tcp_client); |
18 slots.connect(tcp->sig_client(), this, &NetworkSession::on_tcp_client); |
19 } |
19 } |
20 |
20 |
21 NetworkNode* NetworkSession::connect (const NetworkAddress &addr) { |
21 NetworkNode* NetworkSession::connect (const NetworkAddress &addr) { |
22 // create new UDP client if needed |
22 // create new UDP client if needed |
23 if (udp_client == NULL) |
23 if (udp_client == NULL) |
31 |
31 |
32 // add to nodes |
32 // add to nodes |
33 nodes[addr] = client_node; |
33 nodes[addr] = client_node; |
34 |
34 |
35 // bind signals |
35 // bind signals |
36 slots.connect(tcp_client->sig_disconnected, this, &NetworkSession::on_disconnect, client_node); |
36 slots.connect(tcp_client->sig_disconnect(), this, &NetworkSession::on_disconnect, client_node); |
37 } |
37 } |
38 |
38 |
39 void NetworkSession::on_tcp_client (const NetworkTCPTransport *tcp_client) { |
39 void NetworkSession::on_tcp_client (const NetworkTCPTransport *tcp_client) { |
40 // get remote address manually, because NetworkTCPServer doesn't pass it in to us |
40 // get remote address manually, because NetworkTCPServer doesn't pass it in to us |
41 NetworkAddress addr = tcp_client->getRemoteAddress(); |
41 NetworkAddress addr = tcp_client->getRemoteAddress(); |
45 |
45 |
46 // add to nodes |
46 // add to nodes |
47 nodes[addr] = client_node; |
47 nodes[addr] = client_node; |
48 |
48 |
49 // bind signals |
49 // bind signals |
50 slots.connect(tcp_client->sig_disconnected, this, &NetworkSession::on_disconnect, client_node); |
50 slots.connect(tcp_client->sig_disconnect(), this, &NetworkSession::on_disconnect, client_node); |
51 |
51 |
52 // fire signals |
52 // fire signals |
53 sig_node_connected(node); |
53 _sig_node_connected(node); |
54 } |
54 } |
55 |
55 |
56 void NetworkSession::on_disconnect (NetworkNode *node) { |
56 void NetworkSession::on_disconnect (NetworkNode *node) { |
57 // remove from nodes |
57 // remove from nodes |
58 nodes.erase(node->getRemoteAddress()); |
58 nodes.erase(node->getRemoteAddress()); |
59 |
59 |
60 // fire signal |
60 // fire signal |
61 sig_node_disconnected(node); |
61 _sig_node_disconnected(node); |
62 |
62 |
63 // delete |
63 // delete |
64 delete node; |
64 delete node; |
65 } |
65 } |
66 |
66 |