6 |
|
|
7 |
|
#include "Daemon.hpp" |
8 |
|
|
9 |
< |
void Daemon::serve(bool fork, Daemon* self) |
9 |
> |
void Daemon::serve(int port, bool fork, Daemon* self) |
10 |
|
{ |
11 |
< |
Person::configure(); |
11 |
> |
api::TcpSocket server; |
12 |
> |
|
13 |
> |
server.Create(); |
14 |
> |
server.SetAddress(api::InternetAddress(api::InternetAddress::Any, port)); |
15 |
|
|
16 |
|
if (fork) |
17 |
|
{ |
28 |
|
} |
29 |
|
} |
30 |
|
|
31 |
< |
self->handle(); |
31 |
> |
server.Listen(50); |
32 |
> |
|
33 |
> |
while (true) |
34 |
> |
{ |
35 |
> |
api::TcpSocket* client(new api::TcpSocket()); |
36 |
> |
|
37 |
> |
server.Accept(*client); |
38 |
> |
|
39 |
> |
api::Thread thread(etl::BindAll(&Daemon::handle, self, client)); |
40 |
> |
} |
41 |
|
} |
42 |
|
|
43 |
< |
void Daemon::handle() |
43 |
> |
int Daemon::handle(api::TcpSocket* client) |
44 |
|
{ |
45 |
< |
cerr << "Here!\n"; |
45 |
> |
ios::InputOutputStreamBufAdapter adapter(*client); |
46 |
> |
iostream socket(&adapter); |
47 |
> |
|
48 |
> |
// |
49 |
> |
|
50 |
> |
delete client; |
51 |
|
} |