|
Kurssi: Tietojenkäsittelyn ammattitutkinto / Ohjelmointi |
Koulu: Turun AKK |
|
|
Tekijä: Petri Kultanen |
|
|
|
Projektin nimi: C&VServer |
|
|
|
Dokumentin tila: Valmis |
|
|
|
Aloitettu:2.2.2004 |
Muokattu: 20.5.2004 |
Tulostettu:25.5.2004 |
1.1 Dokumentin tarkoitus ja kattavuus
2.2 Järjestelmän liittyminen ympäristöönsä
2.5 Toteutuksen tekniset reunaehdot
3.3 Ohjelmistoarkkitehtuuri, moduulit, prosessit
5.2 Toiminnot Palvelimen pitäjälle
5.2.5 Paikalla olevat käyttäjät
5.3.3 Keskusteluun kirjautumis-sivu
5.3.5 Keskustelun toimintakehys
5.4.1 Käynnistäminen ilman käyttöliittymää
6.3 Toiminnot asiakkaan selaimelle
Tässä dokumentissa on kuvattuna ohjelmiston rakenne, luokat, moduulit, suunnitteluratkaisut, arkkitehtuuri, toiminnot sekä paljon muuta.
JRE = Java Runtime Enviroment. Ks. www.sun.com
Vieraskirjamerkintä = VBookEntry luokan olio, joka pitää sisällään lähetysajan, nimimerkin ja itse viestin.
Sovellus toimii palvelimena lähiverkossa, tai internetissä. Käyttäjä ottaa palvelimeen yhteyden internetselaimellaan, ja pääsee tätä kautta jättämään viestejä vieraskirjaan, tai keskustelemaan reaaliaikaisesti muiden käyttäjien kanssa.
Sovellus kuuntelee sille määrättyä porttia ja odottaa TCP-yhteyksiä. Verkosta päin on oltava sovelluksen kuuntelemaan porttiin esteetön pääsy, eli välissä ei saa olla välityspalvelinta, ja palomuurissa on oltava ”reikä” sovelluksen käyttämälle portille.
Laiteympäristönä on pc-tietokone, jossa on verkkokortti tai modeemi yhteys.
Laitteiston nopeudella ei ole rajoituksia, mutta se vaikuttaa siihen, kuinka monta asiakasta palvelin voi kerralla palvella.
Käyttöjärjestelmänä sovelluksella on joko Windows tai Linux.
Käyttöjärjestelmän versiolla ei ole rajoituksia, kunhan siinä toimii JRE.
Sovellus vaatii toimiakseen JRE 1.4 tai uudemman, eli Javan ajonaikaisen ympäristön.
Sovelluksen on toimittava Windowsin ohella myös Linuxilla.
Palvelimen asiakkaalta ei saa vaatia muuta sovellusta kuin nykyaikaisen internetselaimen.
Sovelluksen tekninen ratkaisu rajoittaa palvelimen käytön, ns. ”kotikäyttöön”. Satoja asiakita palveleva palvelin olisi tarvinnut järeämmät ratkaisut.
3.1.1 Palvelimen eristys käyttöliittymästä
Palvelimen käyttöliittymä eristetään palvelimen toiminnasta siten, että käyttöliittymä luokkia ei tarvitse luoda, jotta palvelin pystyisi toimimaan.
Palvelimen puolelta ei saa viitata käyttöliittymän luokkiin.
3.1.2 Kielet ja dokumentointi
Koodissa käytetään javadoc kommentteja luokille ja metodeille, mutta ei luokkien yksityisille attribuuteille.
Tavallisia java-kommentteja käytetään koodin yksityiskohtaisemman toiminnan selostamiseen.
Kielet
- Suomeksi
Käyttöliittymä
Ohjekirja
Dokumentit
Kommentit ja javadoc
- Englanniksi
Luokkien, metodien sekä muuttujien-nimet
Dokumentit tehdään projektisuunnitelman mukaan.
3.1.3 Tietoliikenne protokolla
Kaikki tietoliikenteeseen liittyvät ratkaisut tulisi olla vähintään HTTP 1.0 määritysten mukaisia.
3.1.4 Koodin nimeämiskäytäntö
Koodi kirjoitetaan englannin kielellä ja nimeämiskäytäntö on mahdollisimman paljon JavaBean-mallin mukainen.
Esimerkkejä mallista:
- Luokan nimet isolla alkukirjaimella.
- Metodien nimet pienellä alkukirjaimella.
- Attribuuttien nimet pienellä alkukirjaimella.
- Kaikissa edellä mainituissa nimien seuraavat sanat alkavat isolla, ja kaikki kirjoitetaan yhteen. Esim. appendAllFiles
- Käytä get ja set alkuisia saanti ja asetus metodeita.
- Vakiot aina isoilla kirjaimilla
Sovellus käyttää kolmea tiedostoa, jotka kirjoitetaan kiintolevylle, hakemistoon josta sovellus käynnistettiin.
Vieraskirja merkinnät tallennetaan ”visitorsbook.bin” tiedostoon. Se on binääritiedosto, jota ei pysty muokkaamaan tekstieditorilla. Tiedostoon kirjoitetaan Vector-olio joka sisältää VBookEntry luokan olioita. Tämä on mahdollista Java kielien tukemalla luokkien sarjoittamisella. Aina kun VBookEntry luokkaa muutetaan, on kaikki visitorsbook.bin tiedostot poistettava, koska yhteensopivuus vanhaan versioon menetetään.
Lokitiedot kirjoitetaan tiedostoon ”log.dat”.
Tiedosto on ASCII tiedosto, johon lisätään tekstirivejä aina tiedoston loppuun.
Tiedoton voi tyhjentää palvelimen käyttöliittymästä.
Tekstirivi muodostuu seuraavasti.
- Päivämäärä ja kellonaika.
- Vakavuus (Debug, Info, Normal, Fatal)
- Luokka.Metodi() jossa ilmoitus tapahtui
- Ilmoitusteksti.
Jos loki tiedostoa ei voi levylle kirjoittaa, niin sitä ei yritetä enää uudestaan, ennen kuin palvelin on käynnistetty uudestaan.
Esimerkki lokitiedonrivistä:
23.2.2004 16:36:17 Fatal: VisitorsBook.loadEntrys() Tiedostoa ei voinut avata
Palvelimen asetukset kirjoitetaan tiedostoon ”Settings.dat”
Tiedosto on ASCII tiedosto.
Tiedot ovat aina samassa järjestyksessä, ja niitä voi muuttaa ilman palvelimen graafista käyttöliittymää, jos noudattaa seuraavaa muotoa.
Tekstit tulevat omille riveilleen. Älä kirjoita tässä esimerkissä olevia rivi-numeroita.
Esimerkki tiedoston sisällöstä
|
5 |
|
50 |
|
300 |
|
true |
|
false |
|
10.0.0.8 |
|
80 |
|
true |
Luokat on jaettu seuraavanlaisiin kokonaisuuksiin.
Tietoliikenne
Server
Connection
LiveConnection
Nämä luokat hoitavat palvelimen perustehtävät, joita ovat muun muassa http-yhteyksien vastaanotto ja käsittely, sekä html-sivujen palautus asiakkaille.
Tarkempi toiminnan selostus on ylläpito-dokumentin luvussa 2.1.
Keskustelualue
User
Users
MessageHandler
Näitä luokkia käytetään hallinnoimaan keskustelualueen paikalla olevia käyttäjiä, sekä välittämään näiden viestejä muille keskustelijoille.
Vieraskirja
VisitorsBook
VBookEntry
Vieraskirjan kaikki viestit on tallennettu näihin luokkiin. VisitorsBook luokassa on kaikki vieraskirjan käsittelyyn tarvittavat työkalut.
Palvelimen apuluokat
ServerSettings
Log
HTMLStrings
Palvelin tarvitsee toimiakseen muutaman apuluokan, jotka hoitavat asetukset, tietojen keräyksen, sekä html-sivujen varaston.
Käyttöliittymä
AdminMainFram
ChatFrame
ServerSettingsFrame
VBokFrame
OnlineUsersFrame
LogFrame
BannedAddressesFrame
Jokaisella käyttöliittymänikkunalla on oma luokka. AdminMainFrame on käyttöliitymän pääikkuna, ja se myös luo muut ikkunat tarvittaessa.
4.1.1 Yleiskuvaus
Pääluokka koko C&VServer sovellukselle.
Tässä luokassa luodaan paketin muista luokista olioita, jotka ovat muiden
luokkien käytössä. Muut luokat saavat nämä oliot käyttöönsä vain viitemuuttujien
kautta, jotka välitetään luokkien rakentajissa.
4.1.2 Rajapinta yleisesti
Rajapinta: Luokka toimii rajapintana käyttöliittymän ja itse palvelimen välillä. Rajapinnan toiminnot ovat keskusteluviestin välitys ChatFrame luokalle, sekä ylläpidon kutsuminen keskusteluun.
4.1.3 Rajapintametodit
4.1.3.1 callAdmin(String)
Toimii välittäjänä palvelimen ja sen käyttöliittymän
välillä.
Välittää keskustelijan pyynnön (Ylläpitäjälle kutsu liittyä keskusteluun)
palvelimen ylläpitäjän graafiseen käyttöliittymään.
Toiminta: Kutsuttaessa tätä metodia Avautuu palvelimen käyttöliittymäikkuna ja esille tulee dialogi jossa on kutsuvan henkilön nimimerkki.
Parametrit:
String Keskustelijan nimimerkki, joka ylläpitäjää kutsuu.
4.1.3.2 relayMsgToAdmin(String)
Toimii välittäjänä palvelimen ja sen käyttöliittymän välillä. Välittää tulevat keskusteluviestit AdminMainFramen kautta ChatFramelle.
Parametrit:
String Keskusteluviesti
4.1.3.3 getMessages()
Palauttaa vectorin joka pitää sisällään (String luokanolioita) viimeksi lähetetyt keskusteluviestit, jotka näytetään uusille tulijoille.
Paluuarvo:
Vector Vector-olio joka sisältää String-olioita
4.1.3.4 main(String[])
Sovelluksen käynnistävä metodi, jolle voi antaa sovellusta käynnistettäessä parametrin "noui", joka jättää graafisenkäyttöliittymän luokat tekemättä.
Tämä luokka ottaa vastaan tulevia yhteyksiä, ja luo niille uuden säikeen, joka käsittelee yhteyksien pyynnöt.
Parametrit:
String[] Merkkijonotaulukko, joka sisältää sovelluksen käynnistyksen yhteydessä annetut parametrit.
4.2.1 Yleiskuvaus
Server luokka tekee jokaiselle tulevalle
yhteydenotolle uuden säikeen, joka vastaanottaa http-yhteyden, tutkii mitä
siinä pyydetään, ja palauttaa vastauksena html-sivun.
Kaikki muut yhteydet, paitsi viestikehyksen pyyntö, suljetaan heti kun html-sivu
on lähetetty. Samalla säie lopettaa toimintansa.
4.2.2 Rajapinta yleisesti
Rajapinta: Luokalla ei ole rajapintaa. Vain Server luokka voi käynnistää luokan säikeen.
4.2.3 Rajapintametodit
4.2.3.1 Connection(Socket, MessageHandler, Users, ServerSettings, VisitorsBook)
Tässä rakentajassa välitetään tälle luokalle Server luokan ylläpitämiä olioita.
Parametrit:
Socket Socket josta yhteys tulee
MessageHandler MessageHandler luokanolio
Users Users luokanolio johon on tallennettu kaikki paikalla olevat käyttäjät
ServerSettings ServerSettings luokanolio.
VisitorsBook VisitorsBook luokanolio.
4.2.3.2 run()
Säikeen käynnistämä metodi. Käsittelee yhteyspyynnön.
4.3.1 Yleiskuvaus
Pitää yhteyden yllä WWW-selaimen viestikehykseen, kunnes käyttäjä kirjautuu ulos tai hänet poistetaan keskustelusta.
Toiminta: Connection luokka kutsuu tämän luokan stayListening metodia. Kun yhteys katkeaa tai se katkaistaan, stayListening metodi kutsuu Users luokan removeUser metodia, joka taas kutsuu tämän luokan LogOut metodia. Joka kutsuu vielä closeConnection metodia, ja näin on yhteys loppunut. Ja keskustelija poistunut palvelimelta, kaiken tämän välissä luokka ottaa vastaan keskusteluviestejä ja välittää ne keskustelijan selaimen viestikehykseen.
4.3.2 Rajapinta yleisesti
Hoitaa yhteyden lopettamisen, sekä viestien
välityksen keskustelijan selaimelle. Luokan palvelujen pääkäyttäjät ovat
Connection sekä MessageHandler luokat, mutta tätä luokkaa saa käyttää muutkin
paketin luokat.
Luokasta tehdään olio vain Connection luokan run() metodissa. Muut luokat
saavat viitteen tähän olion user.getClient() metodin kautta, johon tämä luokka
lisää itsensä StayListening() metodissa.
4.3.3 Rajapintametodit
4.3.3.1 LiveConnection(Socket, BufferedWriter, BufferedReader, Users, Int, ServerSettings)
Rakentajalla välitetään tälle luokalle sen käyttämiä viitteitä olioihin, jotka on luotu Server luokassa
Parametrit:
Socket Socket jossa yhteyttä pidetään auki
BufferedWriter Kirjoitusvirta johon tietoa lähetetään
BufferedReader Lukuvirta josta tietoa luetaan
Users Users luokan olio jossa on kaikkien paikalla olvien käyttäjientiedot
Int Käyttäjäntunnistenumero johon tämä avoinna oleva yhteys liittyy
ServerSettings ServerSettings luokanolio josta luetaan palvelimenasetukset
4.3.3.2 closeConnection()
Sulkee yhteyden.
4.3.3.3 logOut()
Lähettää ilmoituksen käyttäjän poistumisesta,
muille käyttäjille.
Tätä metodia kutsuu Users luokan removeUse- metodi.
Kutsuu lopuksi closeConnection metodia.
4.3.3.4 sendHtmlMsg(String)
Lähettää viestin keskustelijan selaimen
viestikehykseen.
Toiminta:
Kirjoittaa merkkijonon sellaisenaan auki olevaan kirjoitusvirtaan.
Saa sisältää html-koodia.
Tätä metodia ei saa käyttää keskustelijoiden viestin välittämiseen, vaan se on
tarkoitettu ylläpidollisille viesteille, ja mahdollisille tuleville palvelimen
lisäominaisuuksille.
Viestin loppuun ei lisätä ruudun vieritystä tekevää JavaScriptiä.
Parametrit:
String Valmiiksi muotoiltu merkkijono joka saa sisältää html-koodia.
4.3.3.5 sendmsg(String,int)
Lähettää viestin keskustelijan selaimen
viestikehykseen.
Toiminta: Kirjoittaa merkkijonon, sekä tarvittavat html-lisäkoodit, auki olevaan
kirjoitusvirtaan. (Turvallisuus syistä viesti ei saa sisältää html-koodia)
Viestien värit:
0 Musta: Tavalliset viestit kaikille
1 Punainen: Yksityiset viestit
2 Sininen: Ylläpitäjän tai palvelimen lähettämät viestit
Viestin jälkeen lähetetään vielä JavaScript, joka rullaa sivua automaattisesti alaspäin.
Parametrit:
String Valmiiksi muotoiltu viesti
Int Tekstin väri. Numero arvo 0,1, tai 2. 0=Musta, 1=Punainen, 2=Sininen
4.3.3.6 stayListening()
Pitää yhteyttä yllä kunnes se katkeaa, joko
keskustelijan tai palvelimen toimesta.
Toiminta:
Luokassa on silmukka joka pysähtyy odottamaan yhteyden katkeamista.
Kutsuu lopuksi Users luokan removeUser metodia, joka poistaa käyttäjäntiedot
palvelimelta.
4.4.1 Yleiskuvaus
Välittää keskusteluviestit kaikille kirjautuneille käyttäjille.
4.4.2 Rajapinta yleisesti
Rajapinta: Luokalla on kaksi metodia joilla
voi lähettää viestejä keskustelijoiden selaimen viestikehykseen. Tästä luokasta
tekevät olion Server, LiveConnection ja ChatFrame luokat.
Viestit lähetetään Liveconnection.sendMsg() metodilla.
4.4.3 Rajapintametodit
4.4.3.1 MessageHandler(Users)
Rakentaja, joka ottaa vastaan viitteet tarvittaviin olioihin.
Parametrit:
Users Users luokanolio joka pitää sisällään kaikkien kirjautuneiden käyttäjien User luokanoliot.
4.4.3.2 sendMessages(String, int 1, int 2)
Lähettää keskusteluviestejä eteenpäin. Viestejä lähetetään keskustelijoille, sekä ylläpidon käyttöliittymään.
Toiminta:
Tarkistetaan ettei samaa viestiä yritetä lähettää kahta kertaa peräkkäin.
Tutkii kenelle tai keille viesti on tarkoitettu, ja kutsuu vastaavien
keskustelijoiden LiveConnection.sendmsg metodia.
Ylläpidon ja järjestelmän viestit lähetetään eri värisinä, kuin muut.
Parametrit:
String Välitettävä viesti
Int 1 Keskustelijan tunniste numero jolle viesti lähetetään (9999= kaikille)
Int 2 Lähettäjän tunnistenumero (0=Ylläpito/Järjestelmän omat tiedotteet)
4.4.3.3 sendUserInfo(Int)
Muotoilee käyttäjistä listan html-muotoon, ja lähettää sen sitä pyytävälle keskustelijalle. Lista muodostetaan taulukon muotoon, käyttäen <TABLE> html-tagia.
Parametrit:
Int Keskustelijan tunnistenumero joka listaa pyytää.
4.5.1 Yleiskuvaus
Kerää lokitietoja ja tallentaa ne tiedostoon
"log.dat" Tiedosto tallennetaan hakemistoon, mistä palvelin on
käynnistetty.
Tämä luokka on abstrakti, joten sitä on kutsuttava suoraan luokkanimellä.
4.5.2 Rajapinta yleisesti
Luokalla on 4 metodia joita voi kutsua eri tasoisten lokitietojen tallentamista varten. Metodeita on 4 siksi että eri tasoiset tiedot voidaan muotoilla eri tavalla tai jättää kokonaan näyttämättä. Lisäksi on metodit lokin tyhjentämiseen ja lukemiseen kokonaisuudessaan. Tätä luokkaa käyttävät lähes kaikki pakkauksen luokat.
4.5.3 Rajapintametodit
4.5.3.1 clearLogFile()
Tyhjentää lokitiedoston levyltä.
Kirjoittaa uuteen log.dat tiedostoon, tiedon koska uusi lokitiedosto on luotu.
4.5.3.2 debug(String)
Lisää loki tietoihin ylläpitoa helpottavia
tietoja.
Tämän metodin runko kommentoidaan pois, kun sovellus on valmis.
Parametrit:
String Ilmoitus teksti
4.5.3.3 fatal(String)
Lisää lokitietoihin virheilmoituksen, jolla on vaikutusta palvelimen toimintaan. Nämä virheet pitäisi huomioida ja mahdollisuuksien mukaan korjata.
Parametrit:
String Ilmoitus teksti
4.5.3.4 getLogFile()
Palauttaa vector muodossa koko lokitiedoston.
Yksi rivi on yhdessä String oliossa.
Lukee tiedot log.dat tiedostosta, jos tiedostoa ei ole pystytty kirjoittamaan
levylle, niin ei edes yritetä hakea sitä levyltä, vaan palautetaan
virheilmoitus vectorin sisällä.
Paluuarvo:
Vector Vector-olio jossa on String-oliona lokitiedostonrivit.
4.5.3.5 getTime()
Palauttaa nykyisen kellonajan muodossa HH:MM:SS
Paluuarvo:
String Muotoiltu merkkijono. HH:MM:SS.
4.5.3.6 info(String)
Lisää loki tietoihin ilmoituksia, joista voi olla hyötyä.
Parametrit:
String Ilmoitusteksti
4.5.3.7 normal(String)
Lisää lokitietoihin virheilmoituksen, joka ei vaikuta palvelimen toimintaan.
Parametrit:
String Ilmoitusteksti
4.6.1 Yleiskuvaus
Luokka pitää sisältää kaikkien keskusteluun kirjautuneiden
keskustelijoidentiedot.
Tiedot on tallennettu user-oliona vector-taulukkoon.
4.6.2 Rajapinta yleisesti
Julkisia metodeita käytetään yhden tai kaikkien keskustelijoiden tietojen muuttamiseen ja tiedusteluun.
4.6.3 Rajapintametodit
4.6.3.1 addMsgCount(int)
Lisää käyttäjän kirjanpitoon yhden lähetetyn
viestin.
Jokaiselle keskustelijalle pidetään kirjaa siitä kuinka monta viestiä hän on
lähettänyt.
Parametrit:
int Tunnistenumero
4.6.3.2 addUser(String,int,int,String)
Lisää uuden keskustelijan.
Tarkistaa nimimerkin pituuden.
Jos käyttäjän lisääminen ei onnistunut, palauttaa kokonaisluvun 0.
Onnistuneen lisäyksen jälkeen palautetaan keskustelijan tunnistenumero.
Parametrit:
String Nimimerkki
int Ikä
int Sukupuoli (1=Mies 2=Nainen)
String IP-osoite
Paluuarvo:
Int Tunnistenumero
4.6.3.3 checkIdleUsers()
Tarkistaa onko keskustelija ollut linjoilla liian kauan lähettämättä yhtään viestiä. Tällaiset keskustelijat poistetaan palvelimelta.
Tätä metodia kutsutaan Connection.resFrames metodista.
4.6.3.4 formatTime(int)
Muotoilee sekunneista merkkijonon, jossa on eroteltu minuutit ja sekunnit esim. 85 sekuntia = "1:25"
Parametrit:
int Sekunnit
Paluuarvo:
String Muotoiltu merkkijono muotoa MM:SS
4.6.3.5 getAliasStr(int)
Palauttaa keskustelijan nimimerkin, tunnistenumeron
perusteella.
Jos tunnistenumeroa vastaavaa nimimerkkiä ei löydy, palautetaan tyhjä
merkkijono.
Jos numero on 9999 palautetaan teksti "Kaikille".
Parametrit:
Int Tunnistenumero
Paluuarvo:
String nimimerkki
4.6.3.6 getAllClients()
Palauttaa kaikkien käyttäjien LiveConnection luokanoliot vectorissa.
Paluuarvo:
Vector LiveConnection-olioita vectorissa
4.6.3.7 getClient(int)
Palauttaa LiveConnection olion joka on rekisteröity id-tunnistenumeron omaavalle keskustelijalle.
Jos tunnistenumeroa vastaavaa keskustelijaa ei löydy palautetaan tyhjä osoitin.
Parametri:
int Tunnistenumero
Paluuarvo:
LiveConnection LiveConnection luokanolio.
4.6.3.8 getCopyOfUsersVector()
Palauttaa kopion tämän hetkisestä käyttäjä vectorista, joka sisältää User luokanoliota.
Paluuarvo:
Vector vectori joka sisältää User luokanolioita
4.6.3.9 getId(String)
Palauttaa keskustelijan tunnistenumeron,
nimimerkin perusteella.
Jos nimimerkkiä vastaavaa tunnistenumeroa ei löydy palautetaan arvo 0.
Parametrit:
String Nimimerkki
Paluuarvo:
Int Tunnistenumero
4.6.3.10 getUserListInHTML()
Muotoilee käyttäjistä html-muotoisen listan taulukkona.
Palauttaa Vectorin joka sisältää String luokanolioita. Merkkijonossa on Html-koodattuna
yhden käyttäjäntiedot.
Paluuarvo:
Vector vectori jossa on String-olioita sisällä.
4.6.3.11 getUsersCount()
Palauttaa kirjautuneina olevien käyttäjien määrän.
Paluuarvo:
int Kirjautuneena olevien käyttäjien määrä.
4.6.3.12 isOnline(int)
Palauttaa tiedon onko annetun tunnistenumeron omaava keskustelija kirjautuneena sisään.
Parametrit:
int Tunnistenumero
Paluuarvo:
boolean Tieto onko tunnistenumeroa vastaavaa keskustelijaa olemassa
4.6.3.13 isSameMessage(String, int)
Tarkistaa onko annettu viesti sama kuin minkä
käyttäjä on viimeksi lähettänyt.
Tällä pyritään estämään ruudun täyttämistä häiritsevillä viesteillä.
Parametrit:
String Viesti teksti
int Keskustelijan tunnistenumero
Paluuarvo:
boolean Tieto oliko viesti sama kuin edellinenkin lähetetty viesti.
4.6.3.14 removeUser(int)
Poistaa keskustelijan, annetun tunnistenumeron perusteella.
Parametrit:
int Tunnistenumero
4.6.3.15 setClient(int, LiveConnection)
Asettaa viittauksen LiveConnetion luokanolioon, annetulle käyttäjälle.
Parametrit:
int Käyttäjän tunnistenumero
LiveConnection LiveConnection luokanolio.
4.6.3.16 Users(ServerSettings)
Rakentaja
Parametrit:
ServerSettings ServerSettings luokanolio, joka pitää sisällään palvelimen asetukset
4.7.1 Yleiskuvaus
Luokka pitää sisällään yhden keskustelijantiedot.
4.7.2 Rajapinta yleisesti
Kaikki luokan metodit liittyvät tietojen hakemiseen tai muuttamiseen.
Käyttö: Luokkaa käyttävät ainakin Users, OnlineUsersFrame sekä HTMLStrings luokat.
4.7.3 Rajapintametodit
4.7.3.1 User(String,LiveConnection,int,int,int,String)
Rakentajassa asetetaan keskustelijan tiedot.
Parametrit:
String Nimimerkki
LiveConnection LiveConnection luokanolio joka on yhdistetty tähän keskustelijaan
int Tunnistenumero
int Ikä
int Sukupuoli
String IP-Osoite
4.7.3.2 addMessagesSend()
Lisää lähetettyjen viestien määrää yhdellä, sekä nollaa laskurin, joka seuraa kuinka kauan keskustelija on ollut lähettämättä yhtään viestiä.
4.7.3.3 getAge()
Palauttaa keskustelijan iän
Paluuarvo:
int Ikä
4.7.3.4 getAlias()
Palauttaa nimimerkin
Paluuarvo:
String Nimimerkki
4.7.3.5 getClient()
Palauttaa viitteen LiveConnection-olioon, joka on rekisteröity tälle keskustelijalle
Paluuarvo:
LiveConnection LiveConnection luokanolio.
4.7.3.6 getId()
Palauttaa tunnistenumeron
Paluuarvo:
int Tunnistenumero
4.7.3.7 getIdleTime()
Palauttaa sekunteina, kuinka kauan aikaa on kulunut keskustelijan viimeksi lähettämästä viestistä.
Paluuarvo:
int Aika sekuntteina
4.7.3.8 getIpAddress()
Palauttaa keskustelijan IP-Osoitteen
Paluuarvo:
String IP-Osoite merkkijonona
4.7.3.9 getLastMessage()
Palauttaa keskustelijan viimeksi lähettämän viestinsisällön
Paluuarvo:
String Viesti merkkijonona
4.7.3.10 getMessagesSend()
Palauttaa kuinka monta viestiä keskustelija on lähettänyt
Paluuarvo:
int Viestien määrä
4.7.3.11 getSessionTime()
Palauttaa ajan sekunteina, kuinka kauan keskustelija on ollut kirjautuneena.
Paluuarvo:
int Aika sekunteina
4.7.3.12 getSex()
Palauttaa keskustelijan sukupuolen
Paluuarvo:
int Sukupuoli (0=Ei annettu, 1=Mies, 2=Nainen)
4.7.3.13 setClient(LiveConnection)
Rekisteröi LiveConnection luokanolion tälle keskustelijalle
Parametrit:
LiveConnection LiveConnection luokanolio
4.7.3.14 setLastMessage(String)
Asettaa keskustelijan viimeksi lähettämän viestinsisällön
Parametrit:
Stirng Viesti
4.8.1 Yleiskuvaus
Luokka pitää sisällään vieraskirjanmerkintöjä jotka ovat VBookEntry luokanolioita.
Vieraskirja merkintöjen tallennus ja lataus, sekä lisäys että poisto on hoidettu tässä luokassa.
Jokaisella viestillä on oma id-numero, jolla sitä käsitellään.
4.8.2 Rajapinta yleisesti
Julkisia metodeita käytetään tietojen vieraskirjaan lisäämiseen ja poistoon, sekä sieltä hakemiseen. Vieraskirjan lataus ja tallennus eivät ole julkisia toimintoja.
4.8.3 Rajapintametodit
4.8.3.1 VisitorsBook(ServerSettings)
Tässä rakentajassa ladataan vieraskirja tiedot tiedostosta
Parametrit:
ServerSettings serverSettings luokanolio
4.8.3.2 addEntry(String,Vector,Boolean)
Lisää vieraskirjamerkinnän vieraskirjaan, ja
tallentaa vieraskirjan levylle.
Tarkistaa ettei samaa viestiä yritetä lähettää monta kertaa peräkkäin.
Parametrit:
String Lähettäjän nimimerkki
Vector Sisältää String-olioita joissa on viestinrivit
boolean Tieto onko viesti tarkoitettu vain ylläpitäjälle
4.8.3.3 getCopyOfVector()
Palauttaa kopion tämän luokan sisäisestä vectorista, joka sisältää vBookEntry-olioita
Paluuarvo:
Vector vectori jossa on vBookEntry-olioita.
4.8.3.4 getEntrysInStrVector()
Muotoilee kaikki hyväksytty ja julkiset
vieraskirjaviestit String-olioina vector luokkaan.
Yksi viesti on yhdessä vector-oliossa string-oliona.
Lopuksi kaikki yhden viestin vectorit yhdistetään vielä yhteen vectoriin.
Paluuarvo:
Vector kaksiulotteinen vectori joista sisimpänä on String-olioina koko viestintiedot.
4.8.3.5 removeEntry(int)
Poistaa vieraskirjamerkinnän, ja palauttaa tiedon onnistuiko poisto.
Parametrit:
int Merkinnän id-numero jota ollaan poistamassa
Paluuarvo:
boolean Onnistuiko poisto
4.8.3.6 setAccepted(int)
Asettaa vieraskirja merkinnän hyväksytyksi näytettäväksi julkisesti.
Parametrit:
int Merkinnän id-numero joka asetetaan hyväksytyksi
Paluuarvot:
boolean Onnistuiko merkintä
4.9.1 Yleiskuvaus
Pitää sisällään yhden vieraskirjaviestintiedot.
4.9.2 Rajapinta yleisesti
Kaikki muut metodit, paitsi setAdminAccept, on tarkoitettu vieraskirjamerkinnän tarkasteluun.
4.9.3 Rajapintametodit
4.9.3.1 VBookEntry(String, String, Vector, boolean, int, boolean)
Rakentaja alustaa uuden olioin annetuilla arvoilla
Parametrit:
String Päivämäärä
String Lähettäjän nimimerkki
Vector String-olioita vectorissa, jossa on kokoviestin kaikki rivit.
boolean Tieto onko viesti ylläpidon hyväksymä julkiseen esitykseen.
int Tunniste numero
boolean Tieto onko viesti tarkoitettu vain ylläpidon nähtäväksi
4.9.3.2 getDate()
Palauttaa päiväyksen jolloin viesti on jätetty
Paluuarvo:
String Päiväys merkkijonona
4.9.3.3 getId()
Palauttaa viestin tunnistenumeron
Paluuarvo:
int Viestin tunnistenumero kokonaislukuna
4.9.3.4 getSender()
Palauttaa viestin jättäjän nimimerkin.
Paluuarvo:
String Viestin jättäjän nimimerkki
4.9.3.5 getText()
Palauttaa viestin sisällön
Paluuarvo:
Vector Viestin sisältö String-olioina Vectorin sisällä
4.9.3.6 isAdminAccept()
Palauttaa onko viesti hyväksytty julkiseksi esitettäväksi.
Paluuarvo:
boolean true/false
4.9.3.7 isOnlyToAdmin()
Palauttaa tiedon onko viesti tarkoitettu vain ylläpidon luettavaksi
Paluuarvo:
boolean true/false
4.9.3.8 setAdminAccept(Boolean)
Asettaa viestin hyväksytyksi julkisesti esitettäväksi
Parametrit:
boolean Boolean onko viesti hyväksytty julkiseksi esitettäväksi
4.10.1 Yleiskuvaus
Luokka muotoilee html-sivuja, lähetettäväksi selaimelle.
4.10.2 Rajapinta yleisesti
Kaikki luokan metodit palauttavat String-oliona html-sivun, joka on tuotettu metodin saamilla parametreilla. Tämän luokan palveluita käyttävät Connection sekä LiveConnection luokat.
4.10.3 Rajapintametodit
4.10.3.1 HTMLStrings(String, String)
Tällä rakentajalla välitetään palvelimen osoite ja portti, joita käytetään muodostettaessa html-sivujen linkeissä.
Parametrit:
String Palvelimen osoite
String Palvelimen portti
4.10.3.2 banned()
Virhe: Tulevat yhteydet asiakkaan osoitteesta on toistaiseksi kielletty, väärinkäytösten vuoksi.
Paluuarvo:
String html-koodi
4.10.3.3 chatAliasError()
Virhe: Nimimerkki on jo käytössä, tai virheellinen
Paluuarvo:
String html-koodi
4.10.3.4 chatControls(int, Users, int)
Muotoilee keskustelun toimintakehyksen html-koodin.
Toimintakehys on se jossa on kaikki napit ja viestinkirjoituskenttä.
Parametrit:
int Keskustelijan tunnistenumero
Users Users luokanolio, johon on tallennettu kaikkien paikalla olevien käyttäjientiedot
int Tunnistenumero sille keskustelijalle joka laitetaan toimintakehyksen alasvetovalikon oletusarvoksi.
Paluuarvo:
String html-koodi
4.10.3.5 chatError()
Virhe: Keskustelussa tuli palvelimelle tunnistamaton pyyntö
Paluuarvo:
String html-koodi
4.10.3.6 chatFull()
Viesti: Keskustelualue on täynnä
Paluuarvo:
String html-koodi
4.10.3.7 chatLogout()
Viesti: Keskustelija on kirjautunut ulos keskustelusta.
Paluuarvo:
String html-koodi
4.10.3.8 frames(int)
Muotoilee html-sivun joka tekee kaksi kehystä, joista ylemmässä on keskustelun toimintakehys, ja alemmassa viestikehys.
Mukaan koodataan keskustelijan tunnistenumero.
Parametrit:
int Keskustelijan tunnistenumero
Paluuarvo:
String html-koodi
4.10.3.9 help()
Ohjeet keskusteluun sekä vieraskirjaan
Tämä metodi lataa Help.html sivun levyltä.
Paluuarvo:
String html-koodi
4.10.3.10 javaScroll()
Palauttaa JavaScriptin joka rullaa ruutua alaspäin sitä mukaa kun tekstiä tulee lisää. Käyttöohje: Lisää tämä merkkijono jokaisen lähetetyn viestin jälkeen.
Paluuarvo:
String html-koodi
4.10.3.11 login(Boolean,int,int)
Muotoilee keskusteluun kirjautumis-sivun.
Sivun muoto riippuu siitä onko palvelimen asetuksista valittuna asetus, joka
kysyy keskustelijan sukupuolen ja iän.
Parametrit:
boolean Kysytäänkö keskustelijalta ikää ja sukupuolta.
int Henkilöitä keskustelussa
int Keskustelijoiden maksimimäärä
Paluuarvo:
String html-koodi
4.10.3.12 vBook(VisitorsBook)
Muotoilee vieraskirja viesteistä html-sivun, jonka lopussa on uuden viestin lähettämiseen tarkoitettu lomake.
Parametrit:
VisitorsBook VisitorsBook-olio, joka pitää sisällään koko vieraskirjan
Paluuarvo:
String html-koodi
4.10.3.13 vBookConfirmError()
Virhe: Vieraskirjaviestissä oli virheellisiä kenttiä.
Paluuarvo:
String html-koodi
4.10.3.14 vBookConfirmOK()
Viesti: Vieraskirjaviesti on onnistuneesti lähetetty.
Paluuarvo:
String html-koodi
4.10.3.15 welcome()
Koko palvelimen tervetuloasivu, ja samalla index.html sivua vastaava.
Paluuarvo:
String html-koodi
4.11.1 Yleiskuvaus
Luokka pitää sisällään palvelimen kaikki
asetukset. Tiedot pidetään tiedostossa settings.dat.
Luokka hallinnoi myös IP-Porttikieltolistaa johon tallennetaan osoitteet,
joista ei saa päästä palvelimelle. Tätä kieltolistaa ei tallenneta levylle,
vaan se katoaa kun palvelin sammutetaan.
4.11.2 Rajapinta yleisesti
Kaikki tämän luokan metodit ovat julkisia, ja
ne liittyvät joko asetusten muuttamiseen tai tilan tarkistamiseen. Lisäksi on
metodit asetusten tallentamiseksi, ja hakemiseksi tiedostosta.
Käyttö: Server luokka tekee tästä luokasta olion, ja muiden luokkien on käytettävä
Server luokan jakamaa viitemuuttujaa.
4.11.3 Rajapintametodit
4.11.3.1 ServerSettings()
Rakentaja, jossa ladataan asetukset levyltä.
4.11.3.2 getBannedIPs()
Palauttaa Vectorin, jossa on String-olioina kaikki osoitteet, joista yhteydenotot palvelimelle on kielletty.
Paluuarvo:
Vector Vector joka sisältää String-olioita.
4.11.3.3 getMaxIdleTime()
Palauttaa tiedon kuinka monta sekuntia käyttäjä saa palvelimella olla kirjoittamatta yhtään viestiä.
Paluuarvo:
int Aika sekunteina
4.11.3.4 getMaxUsers()
Palauttaa tiedon kuinka monta keskustelijaa palvelimella voi yhtäaikaa olla.
Paluuarvo:
int Keskustelijoiden maksimimäärä
4.11.3.5 getPastMessageCount()
Palauttaa tiedon kuinka monta vanhaa viestiä uusille keskustelijoille näytetään.
Paluuarvo:
int Viestien määrä
4.11.3.6 getServerAddress()
Palauttaa palvelimen osoitteen
Paluuarvo:
String Palvelimen osoite merkkijonona.
4.11.3.7 getServerPortInt()
Palauttaa palvelimen kuunteleman portin kokonaislukuna
Paluuarvo:
Int Palvelimen portti Integer muodossa
4.11.3.8 isAddressBanned(String)
Palauttaa tiedon onko parametrina annettu osoite kieltolistalla.
Parametrit:
String IP-osoite merkkijonona muodossa ###.###.###.###
Paluuarvo:
Boolean Oliko osoite kieltolistalla
4.11.3.9 isAdminCall()
Palauttaa tiedon onko ylläpitäjä kutsuttavissa keskusteluun
Paluuarvo:
Boolean Onko ylläpitäjä kutsuttavissa keskusteluun
4.11.3.10 isAutoVbookAccept()
Palauttaa tiedon hyväksytäänkö vieraskirjamerkinnät automaattisesti
Paluuarvo:
Boolean Hyväksytäänkö vieraskirjamerkinnät automaattisesti
4.11.3.11 isDatingStyleChat()
Palauttaa tiedon kysytäänkö keskustelijoilta ikää ja sukupuolta, kun he kirjautuvat keskusteluun.
Paluuarvo:
boolean Tieto kysytäänkö ikää ja sukupuolta
4.11.3.12 loadSettings()
Lataa asetukset tiedostosta settings.dat. Tiedoston on oltava samassa hakemistossa, mistä palvelin on käynnistetty. Jos tiedostoa ei löydy, niin asetetaan oletusarvot.
4.11.3.13 removeAllBannedAddreses()
Tyhjentää koko kieltolistan.
4.11.3.14 saveSettings()
Tallentaa asetukset settings.dat tiedostoon, samaan kansioon josta palvelin käynnistettiin.
4.11.3.15 setAddressBanned(String)
Lisää osoitteen kieltolistalle
Parametrit:
String IP-osoite merkkijonona muodossa ###.###.###.###
4.11.3.16 setAddressUnBanned(String)
Poistaa kieltolistalta yhden osoitteen.
Ei tarkista osoitteen oikeaa muotoa.
Parametrit:
String Osoite joka poistetaan
Paluuarvo:
boolean Onnistuiko poisto
4.11.3.17 setAdminCall(boolean)
Asettaa asetuksen onko ylläpitäjä kutsuttavissa keskusteluun
Parametrit:
boolean true/false Päälle/Pois
4.11.3.18 setAutoVbookAccept(boolean)
Asettaa automaattisen vieraskirjaviestin hyväksymisen
Parametrit:
boolean true/false Päälle/Pois
4.11.3.19 setDatingStyleChat(boolean)
Asettaa sukupuolen ja ikä kyselyn päälle/pois
Parametrit:
boolean true/false Päälle/Pois
4.11.3.20 setMaxIdleTime(int)
Asettaa ajan sekunteina kuinka kauan keskustelija saa olla palvelimella lähettämättä yhtään viestiä.
Parametrit:
Int Aika sekunteina
4.11.3.21 setMaxUsers(int)
Asettaa keskustelijoiden maksimimäärän
Parametrit:
Int Keskustelijoiden maksimi määrä
4.11.3.22 setPastMessageCount(int)
Asettaa viestien määrän, jotka näytetään uusille keskustelijoille
Parametrit:
Int Viestien määrä
4.11.3.23 setServerAddress(String)
Asettaa palvelimen osoitteen
Parametrit:
String Palvelimen osoite
4.11.3.24 setServerPort(String)
Asettaa palvelimen portin
Parametrit:
String Palvelimen portti
4.12.1 Yleiskuvaus
Käyttöliittymän ikkuna sisältää Menu valikon,
josta pääsee käsiksi kaikkiin palvelimentoimintoihin.
Luokassa luodaan kaikki muut käyttöliittymän ikkunat, ja välitetään niille,
kaikki tarvittavat viitteet olioihin jotka Server luokka on luonut.
Tämän ikkunan sulkemalla saa myös palvelimen suljettua.
4.12.2 Rajapinta yleisesti
Luokan rajapinnan ainoa julkinen metodi on callAdmin, jota vain Server luokka tarvitsee.
4.12.3 Rajapintametodit
4.12.3.1 AdminMainFrame(ServerSettings, Users, VisitorsBook)
Rakentaja joka saa Server luokalta viittaukset
tämän luokan tarvitsemiin palveluihin.
Alustetaan ikkunan näkyvät komponentit
Parametrit:
ServerSettings Palvelimenasetukset luokanolio
Users Users luokanolio, joka pitää sisällään kaikkien keskusteluun kirjautuneiden käyttäjien tiedot
VisitorsBook VisitorsBook luokanolio joka pitää sisällään koko vieraskirjan
4.12.3.2 callAdmin(String)
Näyttää dialogin, jossa on kutsu ylläpitäjälle liittyä keskusteluun.
Parametrit:
String Keskustelijan nimimerkki, joka on kutsun lähettänyt.
4.13.1 Yleiskuvaus
Käyttöliittymänikkuna palvelimenasetusten muuttamiseen. Luokka hakee asetukset ja palauttaa muuttuneet asetukset ServerSettings luokalle.
4.13.2 Rajapinta yleisesti
Luokalla ei ole yleiskäyttöisiä rajapintametodeita.
4.13.3 Rajapintametodit
4.13.3.1 ServerSettingsFrame(ServerSettings)
Rakentaja, joka luo ikkunan komponentit ja päivittää asetukset näytölle
Parametrit:
ServerSettings Viittaus ServerSettings-olioon jonka Server luokka on tehnyt
4.14.1 Yleiskuvaus
Käyttöliittymän ikkuna osoitteiden
lisäämiseksi IP-Porttikieltolistalle.
Kieltolistalla olevista osoitteista ei voi ottaa yhteyttä palvelimelle.
Kieltolistalle lisättävät osoitteet on oltava numeerisia IP-osoitteita, eli
muotoa ###.###.###.###
4.14.2 Rajapinta yleisesti
Luokalla ei ole yleiskäyttöisiä rajapinta metodeita.
4.14.3 Rajapintametodit
4.14.3.1 BannedAddressesFrame(ServerSettings)
Rakentaja joka alustaa ikkunan valmiiksi
Parametrit:
ServerSettings Viittaus ServerSettings olioon jonka Server luokka on tehnyt
4.15.1 Yleiskuvaus
Käyttöliittymän ikkuna keskustelun
seuraamiseen, ja ylläpidollisten viestien lähetykseen kaikille
keskustelijoille.
Viestit tulevat tähän ikkunaan vaikka ikkunaa ei olisi vielä avattu näkyviin.
4.15.2 Rajapinta yleisesti
Server luokka kutsuu metodia updateM(String), jolla se välittää muiden keskustelijoiden viestit tähän ikkunaan.
4.15.3 Rajapintametodit
4.15.3.1 ChatFrame(Users)
Rakentaja, joka alustaa ikkunan käyttövalmiiksi.
Parametrit:
Users Users luokanolio johon on tallennettu kaikki paikalla olevat käyttäjät.
4.15.3.2 updateM(String)
Tätä metodia kutsutaan Server luokan realyMsgToAdmin-metodista. Sen tehtävänä on välittää kaikki keskustelu viestit tähän ikkunaan, ja tulostaa sen tekstikenttään.
Parametrit:
String Viesti
4.16.1 Yleiskuvaus
Käyttöliittymänikkuna josta näkee
keskustelussa paikalla olevat henkilöt, ja voi poistaa häiriköt keskustelusta.
Paikalla olevan keskustelijan IP-osoitteen voi myös lisätä
IP-porttikieltolistalle.
4.16.2 Rajapinta yleisesti
Luokalla ei ole yleiskäyttöisiä rajapintametodeita.
4.16.3 Rajapintametodit
4.16.3.1 OnlineUsersFrame(Users, ServerSettings)
Rakentaja alustaa ja järjestelee ikkunan komponentit.
Parametrit:
Users Viittaus Users-olioon, jonka Server luokka omistaa.
ServerSettings Viittaus ServerSettings-olioon, jonka Server luokka omistaa.
4.17.1 Yleiskuvaus
Käyttöliittymän ikkuna vieraskirjamerkintöjen
hyväksymiseen, poistamiseen ja selailuun.
Luokka käyttää VisitorsBook luokkaa tietojen hakemiseen ja tallentamiseen.
4.17.2 Rajapinta yleisesti
Luokalla ei ole yleiskäyttöisiä rajapintametodeita.
4.17.3 Rajapintametodit
4.17.3.1 VBookFrame(VisitorsBook)
Rakentaja jossa suoritetaan ikkunan alustustoimenpiteet
Parametrit:
VisitorsBook Viittaus VisitorsBook luokanolioon
4.18.1 Yleiskuvaus
Käyttöliittymän ikkuna joka näyttää palvelimen lokitiedot, ja mahdollistaa lokitiedon tyhjennyksen.
4.18.2 Rajapinta yleisesti
Luokalla ei ole yleiskäyttöisiä rajapintametodeita.
4.18.3 Rajapintametodit
4.18.3.1 LogFrame()
Rakentaja joka alustaa ikkunan käyttövalmiiksi
Ikkuna sisältää menu valikon, josta pääsee käyttämään kaikkia palvelimentoimintoja. Valikoilla on näppäin oikopulut.
5.2.1.1 Palvelimen sulkeminen
Palvelimen voi sulkea ”Tiedosto/Sulje palvelin” valikosta, tai sulkemalla pääikkunan.
Yritettäessä sulkea ikkunaa, tulee varmistuskysymys, jossa kysytään halutaanko sulkea palvelin, vai vain piilottaa käyttöliittymä. Käytettäessä valikkoa, sulkemiseen, siitä ei kysytä varmistusta.
5.2.1.2 Käyttöliittymän sulkeminen.
Käyttöliittymä voidaan sulkea, valikosta ”Tiedosto/Sulje käyttöliittymä”, tällöin ohjelma sulkee kaikki avoinna olevat ikkunat, ja vapauttaa niiden käyttämää muistia. Asiasta kysytään varmistus, koska ikkunoita ei saa enää auki, kun ne on suljettu.
Valikko: Asetukset/Palvelimen asetukset
Asetusikkunassa on tekstialueita ja valintaruutuja, asetukset voi hylätä, tai hyväksyä ja tallentaa, näitä varten on kaksi nappia. Kun ”Hyväksy ja tallenna muutokset” nappia painetaan, tarkistetaan kaikkien valintojen oikeellisuus ja tarvittaessa pyydetään käyttäjää korjaamaan tiedot. ”Hylkää” napilla ikkuna suljetaan ja mitään muutoksia ei tehdä.
5.2.2.1 Palvelimen osoite
Palvelimen osoite voidaan antaa joko IP-osoitteena tai nimiosoitteena. Osoitetta käytetään html-sivujen luonnissa, jossa se lisätään kaikkien linkkien alkuun. Osoitetta ei tarkisteta, koska se voi olla monen muotoinen ja tarkistuksia tulisi turhan paljon, sallitut osoite mallit kirjataan palvelimen ohjekirjaan.
5.2.2.2 Palvelimen portti.
Palvelimen portti on numero välillä 1-65535. Portti lisätään myös html-sivuihin osoitteen perään. Sitä käytetään myös käynnistettäessä, palvelinta, antamaan kuunneltava portti. Tämän takia palvelin on käynnistettävä uudelleen, jos porttia on muutettu.
5.2.2.3 Keskustelijoiden maksimimäärä
Luku välillä 1-99. Määrittää kuinka monta keskustelijaa voi palvelimella yhtäaikaisesti olla, jos palvelin on täynnä näytetään uusille tulijoille siitä ilmoitus.
5.2.2.4 Montako vanhaa viestiä näytetään uusille tulijoille.
Luku välillä 1-99. Viestien määrä jonka keskustelijat näkevät tullessaan mukaan keskusteluun. Liian suuri arvo täyttää keskustelijan ruudun sekavan näköiseksi.
5.2.2.5 Montako minuuttia palvelimella saa olla lähettämättä yhtään viestiä.
Luku välillä 1-99. Palvelin heittää käyttäjät automaattisesti pois, jos he ovat olleet lähettämättä viestiä tarpeeksi usein. Ulosheitto tapahtuu vasta, kun joku toinen tulee keskusteluun sisälle, koska uutta tilaa palvelimelle ei ennen tarvita.
5.2.2.6 Otatko vastaan kutsuja keskusteluun
Valintaruutu, Kyllä/Ei. Jos tämä asetus on valittu, niin keskustelija voi selaimestaan, painaa nappia, ja palvelimen ylläpitäjälle avautuu ikkuna, johon tulee kehotus liittyä keskusteluun, mukaan, sekä pyytäjän nimimerkki.
5.2.2.7 Kysytäänkö keskustelijalta ikää ja sukupuolta
Valintaruutu Kyllä/Ei. Tämä valinta vaikuttaa siihen, näytetäänkö keskustelijalle, sisään kirjauduttaessa kysymys iästä ja sukupuolesta. Jos valinta on tehty niin tiedot näkyvät myös käyttäjän listatessa muiden käyttäjien tiedot.
5.2.2.8 Hyväksytäänkö kaikki vieraskirja merkinnät automaattisesti
Jos tämä kohta on valittu niin ylläpitäjän ei tarvitse hyväksyä käyttäjien lähettämiä vieraskirjamerkintöjä, vaan ne ilmestyvät kaikkien nähtäville heti kun ovat palvelimelle tulleet.
Valikko: Asetukset/Osoite kieltolista
Tästä ruudusta näkee tiedot niistä osoitteista, joista tulevat yhteydet palvelin hylkää. Osoitteita voi lisätä joko tästä ruudusta tai sitten ”Toiminnot/Paikalla olevat käyttäjät” valikon kautta. Palvelin ei tallenna näitä tietoja, vaan ne katoavat palvelimen sulkeutuessa.
5.2.3.1 Poista osoite
Tämä toiminto poistaa listasta osoitteen. Osoite ”maalataan” hiirellä, ja painetaan ”Poista osoite” nappia. Jos hiirellä maalattu alue ei ole osoite, vaan siihen on otettu mukaan esimerkiksi rivinvaihto, annetaan käyttäjälle virheilmoitus.
5.2.3.2 Poista kaikki merkinnät
Poistaa kaikki osoitteet listasta, jos listassa ei ole osoitteita niin ei tehdä mitään.
5.2.3.3 Lisää osoite
Osoite annetaan tekstikenttään, ja sen oikeellisuus tarkistetaan, jos osoite on väärää muotoa niin annetaan virheilmoitus. Osoitteen on oltava numeerinen IP-osoite.
Valikko: Toiminnot/Keskustelun seuraaminen
Tähän ikkunaan tulevat kaikki keskustelun viestit, paitsi ne jotka keskustelijat ovat lähettäneet toisilleen yksityisesti. Ikkunassa on myös tekstikenttää, josta voi lähettää viestejä kaikille käyttäjille. Nimimerkiksi niihin tulee aina ”Ylläpitäjä” ja tekstin väri on eri kuin muiden lähettämillä viesteillä. Ylläpidolliset viestit on tarkoitettu ilmoittamaan keskustelijoita vaikkapa palvelimen sulkeutumisesta tai häiriköitä voi pyytää lopettamaan häiriköinnin.
Valikko: Toiminnot/Paikalla olevat käyttäjät
Ikkunassa on taulukko, jossa näkyvät kaikkien kirjautuneiden keskustelijoiden tiedot. Tietoja ovat: Nimimerkki, ikä, Sukupuoli, Aika viimeisestä viestistä, Koko keskustelussa vietetty aika, Kuinka monta viestiä on lähetetty, ID Numero, IP-Osoite. Lista päivittyy automaattisesti.
5.2.5.1 Käyttäjän poistaminen keskustelusta
Käyttäjän voi poistaa keskustelusta, valitsemalla taulukosta oikea rivi, ja painamalla ”poista keskustelusta” nappia. Keskustelijan yhteys katkaistaan, mutta hän voi tulla kirjautua heti uudestaan, keskusteluun.
5.2.5.2 Osoitteen kielto
Jos ulosheitto ei auta, niin käyttäjän ip-osoitteen voi lisätä kieltolistalle. Silloin tästä osoitteesta tulevat yhteys pyynnöt hylätään, myös kirjautumis-sivulle ja vieraskirjaan. Jos ip-osoite oli välityspalvelimen osoite, niin kaikki sen takaa tulevat yhteydet kielletään myös. Kiellot voi poistaa valikosta Asetukset/Osoite kieltolista.
Valikko: Toiminnot/Vieraskirjamerkinnät
Tässä käyttöliittymä ikkunassa voi katsella ja hyväksy vieraskirjaan tulleita viestejä. Viestiteistä näkyvät päiväys, nimimerkki, ja itse viesti, jokainen omissa tekstikentissään. Ikkunassa on selaus napit, sekä viestien poisto ja hyväksyntä napit. Viestit on jaettu kolmeen ryhmään, hyväksytyt, hyväksymättömät ja ylläpidolle tarkoitetut. Näistä valitaan valintaruuduilla, mitä ryhmää ollaan selaamassa. ”Hyväksy merkintä” nappi on aktiivinen vain, kun on valittu selattavaksi hyväksymättömiä viestejä.. Ruudussa on myös tieto siitä kuinka monta viestiä näytettävässä ryhmässä on.
Valikko: Toiminnot/Palvelimen lokitiedot
Palvelimen tallentamia erilaisia tiedotteita ja vieheilmoituksia voi seurata tästä ikkunasta. Jokaiseen tiedotteeseen tallentuu päivämäärä, kellonaika, virheen vakavuus sekä itse ilmoitus teksti. Nämä tiedot näkyvät yhdellä rivillä, jotka näytetään tekstialueella. Ikkunassa on kaksi nappia, toinen päivittää näytön ja toinen tyhjentää lokitiedoston levyltä. Lokitiedosto on tallennettu sovelluksen käynnistys hakemistoon ja on nimeltään ”log.dat”. Tiedosto on selväkielisessä teksti muodossa, jotta ylläpitäjä voi halutessaan tulostaa sen, jollain muulla ohjelmalla. Tyhjennys nappia painettaessa, pitää tulla varmistus kysymys.

Tälle sivulle pääsee kun kirjoittaa selaimen osoitteeksi pelkän palvelimen osoitteen, tai sitten pyytää mitä tahansa sivua, vaikka index.html.