void SocketTest::testAddress() { ServerSocket serv; serv.bind(SocketAddress()); serv.listen(); StreamSocket ss; ss.connect(SocketAddress("localhost", serv.address().port())); StreamSocket css = serv.acceptConnection(); assert (css.peerAddress().host() == ss.address().host()); assert (css.peerAddress().port() == ss.address().port()); }
void LocalSocketTest::testAddress() { SocketAddress sas("/tmp/poco.server.tcp.sock"); ServerSocket serv; serv.bind(sas); serv.listen(); StreamSocket ss; SocketAddress sac("/tmp/poco.client.tcp.sock"); ss.connect(sas, &sac); StreamSocket css = serv.acceptConnection(); assert (css.peerAddress().host() == ss.address().host()); assert (css.peerAddress().port() == ss.address().port()); }
EchoServiceHandler(StreamSocket& socket, SocketReactor& reactor): _socket(socket), _reactor(reactor), _fifoIn(BUFFER_SIZE, true), _fifoOut(BUFFER_SIZE, true) { Application& app = Application::instance(); app.logger().information("Connection from " + socket.peerAddress().toString()); _reactor.addEventHandler(_socket, NObserver<EchoServiceHandler, ReadableNotification>(*this, &EchoServiceHandler::onSocketReadable)); _reactor.addEventHandler(_socket, NObserver<EchoServiceHandler, ShutdownNotification>(*this, &EchoServiceHandler::onSocketShutdown)); _fifoOut.readable += delegate(this, &EchoServiceHandler::onFIFOOutReadable); _fifoIn.writable += delegate(this, &EchoServiceHandler::onFIFOInWritable); }
EchoServiceHandler(StreamSocket& socket, SocketReactor& reactor): _socket(socket), _reactor(reactor), _recvBuffer(new unsigned char[BUFFER_SIZE]), _sendBuffer(new unsigned char[BUFFER_SIZE]) { Application& app = Application::instance(); Timespan ts(20,0); socket.setReceiveTimeout(ts); app.logger().information("Connection from " + socket.peerAddress().toString()); _reactor.addEventHandler(_socket, NObserver<EchoServiceHandler, ReadableNotification>(*this, &EchoServiceHandler::onReadable)); _reactor.addEventHandler(_socket, NObserver<EchoServiceHandler, ShutdownNotification>(*this, &EchoServiceHandler::onShutdown)); }
ServerConnection::ServerConnection(const StreamSocket& socket,SocketManager& socketManager,ServerHandler& handler,ServersHandler& serversHandler) : address(socket.peerAddress().toString()),_size(0),_handler(handler),TCPClient(socket,socketManager),_connected(false),_serversHandler(serversHandler),isTarget(false) { sendPublicAddress(); }