Presentation laddar. Vänta.

Presentation laddar. Vänta.

Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering.

Liknande presentationer


En presentation över ämnet: "Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering."— Presentationens avskrift:

1 Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering

2 Klient/server

3 Protokollstacken Socket = ip-adress + port + transportprotokoll Undvik 0-1023 för egna protokoll, samt ”vanliga” (1234, 1337 osv.)

4 TCP / UDP

5 Strömmar InputStream Läser ren byte-data (ettor och nollor) DataInputStream Från bytes till int, float, osv. (Se upp med byte/bit-ordningen på olika system, endianness) InputStreamReader Koppling från byte-ström till tecken-ström Ser upp med teckenkodning mellan olika system (charset) Scanner Läser text och konverterar data BufferedReade r Läser text OutputStream Skriver ren byte-data DataOutputStream Skriver int, float, osv. OutputStreamWriter Koppling från tecken-ström till byte-ström PrintWriter Skriver text (används som System.out) BufferedWriter Skriver text InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream();

6 Java Kodexempe l

7 C Läs manualsidorna man -s 2, 3c, 3socket (Solaris) 2 (Linux, Mac OS X) Kodexempel http://www8.cs.umu.se/kurser/5DV013/HT10/socket/ Beej's Guide to Network Programming http://beej.us/guide/bgnet/

8 Avlusning ● gdb, dbx, jdb, ddd ● Vid nätverksprogrammering kan avlusning påverka resultatet, print-satser kan vara en lösning.

9 Versionshantering ● För att begära SVN-konto, skriv till support och uppge användarnamn och kurskod. ● svn checkout svn update svn add svn commit svn remove svn log svn diff ● Version Control with Subversion http://svnbook.red-bean.com/

10 Lab 1 ● Token ring ● Viktigt att visa att det bara är ett paket i ringen ● Börja redan nu ● Arbeta gärna i grupper (max 2 personer) ● Visa tydligt i rapporten hur programmet byggs och körs

11 Lab 1 ● Tips: Använd script när ni testar filnamn.bash: #!/bin/bash ssh scanner ”cd edu/doi/lab1; java Ring tcp 12345 processor 12345” & ssh processor ”cd edu/doi/lab1; java Ring tcp 12345 internet 12345” & ssh internet ”cd edu/doi/lab1; java Ring tcp 12345 scanner 12345” & ● chmod +x filnamn.bash./filnamn.bash ● Tips: Script kan även stänga processer (se kill och killall) ● Tips: Använd en timer för att inte glömma kvar gamla processer


Ladda ner ppt "Socketprogrammering Klient/server Protokollstacken TCP UDP Java C Avlusning Versionshantering."

Liknande presentationer


Google-annonser