Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

  • createEventsListener – volá sa pri nadväzovaní TCP spojenia, ešte pred tým, ako sa pripájajúci identifikuje ako D2Connector. Klientská aplikácia má v tomto bode možnosť odmietnuť prichádzajúce spojenie (na základe adresy) alebo vytvoriť „listener-a" pre zachytávanie udalostí JConnector-a.
  • onConnectionEstabilished – volá sa po úspešnom nadviazaní spojenia medzi JConnectorom a D2Connector-om, parametrom je JConnector pripravený na použitie.
  • onConnectionFailed – volá sa, ak sa spojenie nepodarilo nadviazať – pravdepodobne kvôli tomu, že sa o spojenie pokúsil neznámy proces, alebo D2Connector inej verzie.

Varovanie

Pozor: Na počúvanie prichádzajúcich spojení bude vytvorené samostatné vlákno a všetky 3 metódy budú volané v tomto počúvajúcom vlákne. Je preto dôležité pamätať na potrebu synchronizácie prístupu k zdieľaným zdrojom. Taktiež by vykonanie metód malo prebehnúť podľa možností čo najrýchlejšie, aby neblokovalo spracovanie ďalších prichádzajúcich spojení.

...

Blok kódu
languagejava
themeEclipse
ServerSocketEventsListener listener = new ServerSocketEventsListener()
{

    @Override
    public D2ConnectorEventsListener createEventsListener(InetAddress address,
 int port, ListeningHandle handle) throws ConnectionRejectedException {
        if (acceptConnection(address, port)) {
            if (needConnectorListener(address, port))
                return new D2ConnectorEventsListener() { /* implementation */ };
   int port,
        else
                return null; // simplest -> accept connection without any listener            
             ListeningHandle handle)}
        throwselse
 ConnectionRejectedException
    {
       throw ifnew (acceptConnection(address, port))
   ConnectionRejectedException(); // reject connection
     {}

    @Override
    public void onConnectionEstabilished(D2Connector connector, if (needConnectorListener(addressInetAddress inetAddress, int port, ListeningHandle handle))
    {
        // use connector to returncreate new D2ConnectorEventsListener() { /* implementation */ };sessions
    }

    @Override
    public void onConnectionFailed(ConnectorException ex, else
InetAddress inetAddress,               return null; // simplest -> accept connection without any listener
            
        }
        else
            throw new ConnectionRejectedException(); // reject connection
    }

    @Override
    public void onConnectionEstabilished(D2Connector connector,
                                         InetAddress inetAddress,
                                         int port,
                                         ListeningHandle handle)
    {
        // use connector to create sessions
    }

    @Override
    public void onConnectionFailed(ConnectorException ex,
                                   InetAddress inetAddress,
                                   int port,
                                  int port, ListeningHandle handle)
    {
        // handle false attempt - log it and dispose of created listener
    }
};

...