Åtkomst och användarhandledning



Relevanta dokument
Laboration 2: Ett kommunikationssystem

Installation av. Vitec Online

Konfigurera Xenta från Point

Piff och Puffs Chatsystem

Innehållsförteckning. Manual WebCT

Realtid. eda040project2010 MANUAL. - Christoffer Olsson. - Daniel Lehtonen

Projektrapport EDA095

Projekt i Nätverksprogrammering. MegaNet Handledare: Pierre Nugues

EDA095 Nätverksprogrammering

En guide till FirstClass

Telia Touchpoint Plus. Användare

Att komma igång med FirstClass (FC)!

Så här gör du för att lägga till nytt e-postkonto i Windows 8. Öppna E-post från startskärmen.

Hidden Camera App. Realtidsprogrammering EDA040. Joakim Svensson (dt05js8) Torbjörn Lundberg (dt05tl3) Henrik Andersson (dt05ha1)

ZACI är den programvara som är navet i kommunikationen när det gäller kortbetalningar.

MANUAL. Weblink WebCall

3Växel Softphone i datorn.

Användarmanual CallPad och VoicePad

LABORATIONSRAPPORT Säkerhet och Sårbarhet Laboration 1 Brandväggar

Hjälpprotokoll till IP

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Lära känna skrivbordet

Elektroniskt informationsutbyte mellan arbetsgivare och Försäkringskassan. Information om filöverföring

FÖRBEREDANDE INSTÄLLNINGAR INFÖR SKYPE MÖTE SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Linuxadministration I 1DV417 - Laboration 4 Nätverk, DHCP, säkerhetskopiering, processhantering, Samba och NFS

Skriv in sökvägen sam.sll.se

INSTALLATION AV VITEC MÄKLARSYSTEM. Studentversion

Manual Nedladdningsbara klienten NLK

Telefonist i 3Växel webb.

19. Skriva ut statistik

RealPresence Desktop 3.1

Handbok Simond. Peter H. Grasch

Routerinställning. Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst.

HOGIA skatteanalys. Installationsguiden startar med en välkomstdialog för produkten. Klicka på Nästa.

Bruksanvisning för hjälpbegäran

informationsöverföring Fastställd av Fastställd datum Omprövas Ansvarig för omprövning

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Datorsystem Laboration 2: Minnesmappade bussar

HexaFlip. Kravspecifikation

Decipher och Datataker DT100

En handledning för studerande på Högskolan Kristianstad

Steg 4 b. Molntjänster Onedrive Office 365 Windows 10. Mars -16 Liljedalsdata.se. Liljedalsdata Molntjänster En del av steg 4 Sida 1

Säkerhet Användarhandbok

Antal svarande i kommunen 32 Andel svarande i kommunen, procent 43 Kategorier ångest? Mycket dåligt Totalt Nej. Någorlunda. Mycket gott.

Tärna Folkhögskola IT-pedagogutbildningen Individuellt fördjupningsarbete Vt IT I FÖRSKOLAN. Författare:Tove Andersson

AVCAD 4.0 for MS SQL-SERVER

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Manual för praktiker

Användarhandbok OE/OSSpeaker V.10.3

FIBER. Installationshandbok. Rev

Manual för Kollektomat

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Formulär i Google Drive Skapa din egna undersökning

Installationsanvisning från Visma Spcs. Visma löneprogram. Innehåll. Inledning

Installation/Flytt av Rebus

7 Mamut Client Manager

Färgklövern. Färgklövern är gjord 1998 i samarbete mellan Datateket i Linköping och Hargdata AB i Linköping.

Öppna dokumentet. Det heter ecdlfil.doc (Du får instruktioner om var)

Semester och arbetstidsförkortning

Instruktion för att slutföra registreringen

KOM IGÅNG MED EN LATHUND TILL DE VANLIGASTE FUNKTIONERNA

E-post för nybörjare

SNABBGUIDE TILL NEWSDESK

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ Rev. Manual

Ansök till förskola och familjedaghem

Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Handledning Miljömanualen på webben

2. Låsa upp mobilen? Om din mobil är operatörslåst så rekommenderar vi att du tar kontakt med din operatör.

Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.

Så här fungerar registreringen i Malmö stads Odlingsslottskö

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

Årsskiftesrutiner i HogiaLön Plus SQL

Hogia Administration AB bedriver kontinuerlig utveckling av programmen och reserverar sig för avvikelse mellan program och handbok.

Manual för deltagare kursen Bakgavellyft Så går du kursen Bakgavellyft

Riktlinjer för. klagomålshantering

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Gmail, kalendern och Google dokument. Här lär du dig att skicka

Söka föreningsbidrag på webben

LITEN HANDLEDNING TILL E-TJÄNSTER I BJUVS KOMMUN. Så här ser inloggningssidan ut. Börja med att skriva ditt användarnamn och lösenord i rutorna.

FÖRETAGARE. Bli leverantör till offentlig sektor

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Lär dig sökmöjligheterna i Disgen 8

Kapitel 1 Ansluta routern till Internet

Viktigt att ta kontroll över samtalet från början:

Studentguide Adobe Connect Pro

ELMIA WLAN (INTERNET)

Klicka på en sökrad för att få fram hänvisningar, fullständig information och möjlighet att skicka meddelande via e-post eller sms.

Chatt. Ansluta till en chattserver. Ändra chattinställningarna. Ta emot chattinställningar. Chatt

QUICK GUIDE Master reset, initiering och adressering. Master Reset av LCU6516

Erik firar jul TORSTEN BENGTSSON

Version: v.1.0. Manual för praktiker

Lösenordet till dator, mejl och självservice

Svensk version. Inledning. Installation av maskinvara. Installation av Windows XP. LW057V2 Sweex trådlösa LAN PCI-kort 54 Mbps

ORDNA DINA BILDER. Var finns bilderna Var bör de finnas

Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret Klass: SPR2

Dela, samarbeta, byt. Bruksanvisning för administratörer

Tentamen TEN1 HI

1. Beskrivning av ingående komponenter

Frågor och svar om TNC-term

Transkript:

Innehållsförteckning Problemspecifikation...1 Åtkomst och användarhandledning...2 Systembeskrivning...3 Lösningens begränsningar...5 Problem och reflektioner...6 Testkörning...7 Bilagor......Källkod...

Problemspecifikation Denna uppgift går ut på att vi skall skapa en Chat-server och en Chat-klient. I detta ingår det att skapa en s.k. tråd som hjälper oss att komma förbi problemet med stegvis kodavläsning under runtime av programmet. D.v.s. så kan programmet utföra två saker samtidigt. I vårat fall så kan klienten både skriva meddelanden samtidigt som de tas emot. Chat-klienten och Chat-servern ska kunna kommunicera med varandra genom UDP paket där man även ska kunna skapa flera chattrum på servern. Originalspecifikationen: http://www.cs.umu.se/kurser/5dv065/ht07/ou/ou1.htm 1

Åtkomst och användarhandledning Programmet går att komma åt på den angivna länken på försättsbladet. Programmerings/ kompileringsprogrammet som vi har använt oss utav är Eclipse. För att starta projektet i Eclipse välj doi som workspace. I mappen lab1 finns det fem stycken java filer som används i workspacen i Eclipse för att kunna använda sig av programmet. Dessa fem filer är; Server, ServerClient, ChatRoom, Client och MyPacket. För att köra programmet rekommenderas att du använder Unix, på en Windows dator kan du använda t.ex. XSession (WinAxe). Här kan du starta flera terminalfönster, starta ett för servern och en för varje klient du vill ansluta. Gå in i specificerad katalog (se sidhuvud). Starta först servern genom att skriva java Server. Välj en port eller tryck på Enter för att använda en standardport (1456) Programmet kommer att upplysa dig om den valda porten är ogiltig (0) eller om den redan är upptagen. Starta klienten genom att skriva java Client. Tryck på Enter för att använda standardvärden. Ange ditt namn Ange serverns adress (eller IP) eller tryck på Enter för att ansluta till den lokala datorn om servern och klienten ligger på samma maskin. Ange samma port som du har angivit på servern, tryck på Enter om du använde standardporten i servern (1456). Klienten ansluter nu automatiskt, om det gick bra står det [ditt namn] connected to server annars står det bara Connecting to server, du har kanske inte startat servern, tryckt på Enter efter port:, du försöker ansluta till fel maskin eller angivit olika portar i servern och klienten. Klienten skriver nu ut alla kommandon du kan utföra, för att skriva i en kanal matar du bara in text och trycker på Enter. För att avsluta anslutningen och klienten skriv /exit. 2

Systembeskrivning Server: Den här klassen behandlar meddelanden och skickar angivet svar till rätt klienter enligt labbspecifikationen. Den håller även vilka klienter (ServerClient) som är anslutna och vilka chattrum (ChatRoom) som finns. ServerClient: Varje klient som ansluter till servern blir av den här typen. Den har ett namn, ett IP, en port och en referens till vilken kanal (ChatRoom) den är inne på. ChatRoom: Varje chattrum som skapas på servern blir av den här typen. Ett chatt rum har; ett namn och en lista på klienter i rummet. Client: Är klassen som man använder för att ansluta till servern. Viktiga attribut hos denna klass är: namn, anslutningsport, socket, en extra tråd för inkommande meddelanden (ReceiveHandler). ReceiveHandler: Ärver av klassen Thread och är alltså en tråd. Den använder sig utav samma socket som Client eftersom det ska vara samma anslutning. Den implementerar metoden run som ärvs av Thread. Den har även en metod halt som avslutar körning av tråden, anropas när programmet skall avslutas. MyPacket: I denna klass finns den metod som gör att man skall skriva om det användaren gör eller skriver till byte så att servern vet vad som händer. 3

4

Lösningens begränsningar Klienter kan bara skicka medelanden som är 255 bytes, längre medelanden kortas ner, d.v.s. datan kastas. Klienter som avslutas på fel sätt "pingar inte ut", d.v.s. Servern tror att de fortfarande finns. Det stod inte i labbspecifikationen att man skulle kunna skicka ett meddelande för att koppla ner anslutningen men vi lade till det som en utökning. I riktiga chattprogram slängs klienter som inte har skickat några meddelanden inom en viss tidsperiod. Eftersom det inte framgick vad som skulle hända om man försökte gå in i ett chattrum när man redan var i ett annat har vi bestämt att neka det genom att skicka ett meddelande. Klienten får själv först gå ur chattrummet den är på. I övrigt har vi inte några begränsningar vi känner till. 5

Problem och reflektioner Det största problemet vi har haft med denna laboration har varit att få till längden på meddelanden. Vi trodde i början att längden vi skickade med som parameter till paketet skulle duga. Vi kom på att längden på det mottagna paketet är ju dock alltid 1024 byte. Vi upptäckte inte detta förrän vi körde programmet i Eclipse (vilket vi inte kunde göra på skolan i början) då vi såg att efter meddelandet låg det en massa skräp (som inte skrevs ut i XSession). Detta ledde till att om man försökte lägga till något till det inkomna meddelandet inte skrevs ut. Det finns flera problem med detta system som gör att det inte fungerar så bra i verkliga livet, har ni märkt några sådana? Labbspecifikationen specificerar INTE följande viktiga saker; Fråga Får användare ha samma namn? Får det finnas kanaler med samma namn? Ska kanaler utan användare behållas? Ska man kunna avsluta anslutningen till servern så den tar bort användaren? Ska klienter som inte skickat meddelanden på länge pingas ut? Hur många kanaler ska användare få skapa? Ska användare även gå in i kanalen när den skapar den? Vårat svar / Implementerat Ja, eftersom de kan vara på olika kanaler. / Ja Nej, vi ser ingen logik i att ha det så, då måste man ju lägga till någon slags numrering som ändå blir oförståeligt för användarna. / Nej, de får de inte. Ja eventuellt men hur länge? / Ja Ja, det finns ingen vettig anledning till att inte göra så. / Ja Ja egentligen... / Nej Obegränsat, borde ha någon slags begränsning dock. / Obegränsat. Ja, det blir mindre arbete för användaren plus att det blockerar användaren från att spamma kanaler. Vi har valt att inte implementera större delen av det ospecificerade i labbspecifikationen eftersom vad vi förstår är god programmeringsmetodik. Några tydliga problem med det kan vara att det är ganska svårt att använda som ovan datoranvändare. Det är svårare att förstå eftersom man inte ser någon tydliga funktionsknappar att använda, ett GUI som man kan använda skulle underlätta mycket, dock skulle det bli väldigt mycket arbete. Som det är nu skrivs allt in med kommandon och text. 6

Testkörning I I denna ruta startas ett fönster/terminal i X-session där servern startas. Vi anger port 1234 som startport, detta anges automatiskt annars. II Här startas en till terminal där användaren får kontakta servern. Man får ange sitt namn och vilken port man vill ansluta till. Om man inte anger porten kommer man att få en förinställd som är samma som serverns (ligger förbestämt ett nummer både i Server och Klient (1456)). 7

III Här läggs ytterliggare en person till, denna person anger sitt namn samt den port som denna vill ansluta till. 8

IV Nu startar person 1 ett chattrum som han automatiskt hamnar in i, som sedan person 2 letar upp och loggar in på. Person 1 försöker logga in i det redan existerande rummet och får då ett felmeddelande. 9

V I denna del pratar dom två personerna med varandra. Som synes kommer även allt fram även på servern. 10

VI I denna ruta har person nummer 2 lämnat rummet. Han har då möjligheten att skapa ett eget rum eller gå tillbaka till föregående. 11