Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avMikael Bergqvist
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
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.