Επικοινωνία Client/Server Υποδοχές
|
|
- Ἀγλαΐα Χρηστόπουλος
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Επικοινωνία Client/Server Υποδοχές Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία με Υποδοχές 1
2 Ορισμός των Υποδοχών (sockets) Τα sockets προσφέρουν μια γενικευμένη ικανότητα δικτύωσης Είναι διαθέσιμα με τις περισσότερες τρέχουσες διανομές των συστημάτων Unix Επιτρέπουν την επικοινωνία μεταξύ δύο διαφορετικών διεργασιών στην ίδια ή σε διαφορετικές μηχανές Σε έναν προγραμματιστή τα sockets φαίνονται και συμπεριφέρονται σαν έναν χαμηλού επιπέδου file descriptor Αυτό συμβαίνει επειδή εντολές όπως read() και write() χρησιμοποιούνται για τα sockets με τον ίδιο τρόπο που χρησιμοποιούνται με τα αρχεία Επικοινωνία με Υποδοχές 2
3 Ορισμός των Υποδοχών (sockets) In computer networking, an Internet socket or network socket is an endpoint of a bidirectional inter-process communication flow across an Internet Protocol-based computer network, such as the Internet The term Internet sockets is also used as a name for an application programming interface (API) for the TCP/IP protocol stack, usually provided by the operating system Internet sockets constitute a mechanism for delivering incoming data packets to the appropriate application process or thread, based on a combination of local and remote IP addresses and port numbers Each socket is mapped by the operational system to a communicating application process or thread Επικοινωνία με Υποδοχές 3
4 Ορισμός των Υποδοχών (sockets) In computing, network programming, essentially identical to socket programming or client server programming, involves writing computer programs that communicate with other programs across a computer network The program or process initiating the communication is called a client process, and the program waiting for the communication to be initiated is the server process The client and server processes together form a distributed system The communication between the client and server process may either be connectionoriented (such as an established TCP virtual circuit or session), or connectionless (based on UDP datagrams) A program that can act both as a client and a server is based on peer-to-peer communication Sockets are usually implemented by an API library such as Berkeley sockets, first introduced in 1983 Most implementations are based on Berkeley sockets, for example Winsock introduced 1991 Other socket API implementations exist, such as the STREAMS-based Transport Layer Interface (TLI) Επικοινωνία με Υποδοχές 4
5 Ορισμός των Υποδοχών (sockets) The Berkeley sockets application programming interface (API) Comprises a library for developing applications in the C programming language that perform inter-process communication, most commonly for communications across a computer network Berkeley sockets (also known as the BSD socket API) originated with the 4.2BSD Unix operating system (released in 1983) as an API Only in 1989, however, could UC Berkeley release versions of its operating system and networking library free from the licensing constraints of AT&T's copyright-protected Unix The Berkeley socket API forms the de facto standard abstraction for network sockets Most other programming languages use an interface similar to the C API The API is also used for Unix domain sockets, which are an interface to interprocess communication (IPC) channels within a single computer All modern operating systems now have some implementation of the Berkeley socket interface, as it became the standard interface for connecting to the Internet Επικοινωνία με Υποδοχές 5
6 Ορισμός των Υποδοχών (sockets) Για τις περισσότερες διαδικασίες που χρησιμοποιούν sockets, οι ρόλοι του πελάτη (client) και του κεντρικού εξυπηρετητή (server) πρέπει να οριστούν Ένας server είναι μια διεργασία που κάνει κάποια λειτουργία κατόπιν αιτήσεως από έναν client Όπως θα φανεί παρακάτω, οι ρόλοι δεν είναι συμμετρικοί και δεν μπορούν να αντιστραφούν εύκολα χωρίς κάποια προσπάθεια Επικοινωνία με Υποδοχές 6
7 Χρήση Χρήση των sockets με έναν connectionless ή datagram τρόπο μεταξύ των client και server στην ίδια μηχανή Σε αυτήν την περίπτωση, ο client δεν εγκαθιστά ρητά μια σύνδεση με τον server Ο client, φυσικά, πρέπει να ξέρει τη διεύθυνση του server Ο server, στη συνέχεια, περιμένει απλά ένα μήνυμα να καταφθάσει. Η διεύθυνση του client είναι μια από τις παραμέτρους του μηνύματος και χρησιμοποιείται από τον server για την απάντησή του Επικοινωνία με Υποδοχές 7
8 Χρήση Xρήση των sockets με έναν συνδεδεμένο τρόπο μεταξύ των client και server στην ίδια μηχανή Σε αυτήν την περίπτωση, οι ρόλοι του πελάτη και του κεντρικού υπολογιστή ενισχύονται περαιτέρω από τον τρόπο με τον οποίο το socket καθιερώνεται και χρησιμοποιείται Αυτό το μοντέλο αναφέρεται συχνά ως connection-oriented client-server μοντέλο Xρήση των sockets με έναν συνδεδεμένο τρόπο μεταξύ των client και server σε διαφορετικές μηχανές Αυτό είναι η επέκταση στο δίκτυο του δεύτερου σταδίου που μόλις αναφέρθηκε Επικοινωνία με Υποδοχές 8
9 Χρήση Επικοινωνία με Υποδοχές 9
10 Internet Sockets Τα δύο βασικά είδη Internet sockets Stream Sockets (SOCK_STREAM) Datagram Sockets (SOCK_DGRAM) Stream Sockets Είναι αξιόπιστα (error free) ιπλής κατεύθυνσης Τelnet, HTTP χρησιμοποιούν stream sockets Υψηλής ποιότητας μετάδοση (χρήση TCP) Datagram Sockets Connectionless sockets Πακέτα μπορεί να χαθούν Χαμηλή ποιότητα μετάδοσης (χρήση UDP) Επικοινωνία με Υποδοχές 10
11 Internet Sockets Ένα stream είναι μια ακολουθία από χαρακτήρες που "ρέουν" προς ή από μια διεργασία Ένα input stream συνδέεται σε κάποια πηγή εισόδου (input source) της διεργασίας, π.χ., πληκτρολόγιο ή socket Ένα output stream συνδέεται σε κάποια πηγή εξόδου (output source), π.χ., οθόνη ή socket Επικοινωνία με Υποδοχές 11
12 Internet Sockets Ο Client πρέπει να επικοινωνήσει με τον server Η διεργασία του server πρέπει να "τρέχει" ήδη Ο server πρέπει να έχει δημιουργήσει ένα socket (πόρτα) για την "υποδοχή" της επικοινωνίας από την πλευρά του client Ο Client επικοινωνεί με τον server (TCP) Με τη δημιουργία ενός τοπικού TCP socket Προσδιορίζοντας μια IP διεύθυνση & αριθμό port της διεργασίας του server Ο client TCP εγκαθιστά σύνδεση με το server TCP Όταν κάποιος client επιδιώκει την επικοινωνία, το server TCP δημιουργεί νέο socket για την επικοινωνία της διεργασίας του server με τον client Επιτρέπει στο server να "μιλάει" με πολλαπλούς clients Ξεχωριστά port numbers για τη διάκριση μεταξύ clients Επικοινωνία με Υποδοχές 12
13 Internet Sockets Ο Client επικοινωνεί με τον server (UDP) εν υπάρχει χειραψία (handshaking) εν εγκαθίσταται σύνδεση μεταξύ client και server Ο αποστολέας επισυνάπτει ρητά την IP διεύθυνση και το port προορισμού σε κάθε πακέτο Ο server πρέπει να εξάγει την IP διεύθυνση και το port του αποστολέα από κάθε πακέτο που λαμβάνει Τα μεταδιδόμενα δεδομένα μπορεί να παραληφθούν εκτός σειράς ή να χαθούν Επικοινωνία με Υποδοχές 13
14 UNIX I/O Βασικές συναρτήσεις Εισόδου/Εξόδου open close read (see also recv and recvfrom) write (see also send and sendto) lseek int desc;... desc = open( file, O_RDWR, 0); read(desc, buffer, 128); close(desc); Επικοινωνία με Υποδοχές 14
15 UNIX I/O Επικοινωνία με Υποδοχές 15
16 Socket API Functions socket() Creates a new socket of a certain socket type, identified by an integer number, and allocates system resources to it bind() Associates a socket with a socket address structure, i.e. a specified local port number and IP address. listen() Used on the server side, and causes a bound TCP socket to enter listening state connect() Used on the client side, and assigns a free local port number to a socket In case of a TCP socket, it causes an attempt to establish a new TCP connection accept() Used on the server side It accepts a received incoming attempt to create a new TCP connection from the remote client, and creates a new socket associated with the socket address pair of this connection send() and recv(), or write() and read(), or recvfrom() and sendto() Used for sending and receiving data to/from a remote socket close() Causes the system to release resources allocated to a socket In case of TCP, the connection is terminated Επικοινωνία με Υποδοχές 16
17 Socket API Functions The Berkeley socket interface is defined in several header files The names and content of these files differ slightly between implementations In general, they include: <sys/socket.h> Core BSD socket functions and data structures <netinet/in.h> AF_INET and AF_INET6 address families and their corresponding protocol families PF_INET and PF_INET6 Widely used on the Internet, these include IP addresses and TCP and UDP port numbers <sys/un.h> PF_UNIX/PF_LOCAL address family Used for local communication between programs running on the same computer Not used on networks <arpa/inet.h> Functions for manipulating numeric IP addresses <netdb.h> Functions for translating protocol names and host names into numeric addresses Searches local data as well as DNS. Επικοινωνία με Υποδοχές 17
18 Κλήση Συστήματος Socket() int socket(int af, int type, int protocol) family or domain Το πρώτο όρισμα ορίζει την οικογένεια () στην οποία ανήκει το socket Οι δύο οικογένειες που χρησιμοποιούνται αρκετά συχνά είναι: AF_UNIX για την επικοινωνία μεταξύ διεργασιών στην ίδια μηχανή (χρήση αρχείων) AF_INET για την επικοινωνία μεταξύ διεργασιών που βρίσκονται σε διαφορετικές μηχανές χρησιμοποιώντας τα τυποποιημένα πρωτόκολλα (IP/UDP/TCP) AF_INET6 για IPv6 type Το δεύτερο όρισμα είναι ο τύπος του socket και έχει να κάνει με το «στυλ» της επικοινωνίας Οι δύο ο συνηθέστερα χρησιμοποιημένες τιμές περιλαμβάνουν: SOCK_STREAM: Μία ροή δεδομένων χωρίς όρια μεγέθους Η παράδοση σε ένα δικτυωμένο περιβάλλον είναι εγγυημένη Εάν η παράδοση είναι αδύνατη, ο αποστολέας λαμβάνει έναν μήνυμα λάθους SOCK_DGRAM: Μια ροή δεδομένων όπου κάθε πακέτο έχει συγκεκριμένο μέγεθος Η παράδοση σε ένα δικτυωμένο περιβάλλον δεν είναι εγγυημένη Επικοινωνία με Υποδοχές 18
19 Κλήση Συστήματος Socket() int socket(int af, int type, int protocol) protocol Συνήθως protocol = 0 Επιτρέπει στο σύστημα να επιλέξει το πρώτο πρωτόκολλο που είναι διαθέσιμο αφού πρώτα έχει οριστεί η οικογένεια και ο τύπος του socket IPPROTO_TCP: για το πρωτόκολλο TCP IPPROTO_UDP: για το πρωτόκολλο UDP2 These protocols are specified in <netinet/in.h> Η συνάρτηση επιστρέφει -1 σε περίπτωση λάθους, διαφορετικά τον περιγραφέα της υποδοχής Μια άλλη διεργασία που θέλει να επικοινωνήσει με τη προηγούμενη δεν έχει τρόπο να ονομάσει την υποδοχή, μέχρις ότου η υποδοχή να λάβει διεύθυνση Στο πεδίο UNIX η διεύθυνση συνήθως αποτελείται από ένα ή δύο ονόματα διαδρομής Στο πεδίο Internet η διεύθυνση αποτελείται από ένα συνδυασμό IP διεύθυνσης και αριθμού θύρας (port) Επικοινωνία με Υποδοχές 19
20 Κλήση Συστήματος Bind() int bind(int sockfd, struct sockaddr *my_addr, int addrlen) H πρακτική χρήση της bind, είναι να δένει το socket που δημιουργήθηκε, σε μια συγκεκριμένη port sockfd Eίναι το socket file descriptor (το socket που δημιουργήθηκε) my_addr Eίναι ένας δείκτης στην δομή sockaddr, η οποία περιέχει πληροφορίες για ένα όνομα διαδρομής ή την local IP address, την port στην οποία θα γίνει bind το socket) addrlen Eίναι το μέγεθος του sockaddr (χρήση του sizeof(struct sockaddr)) Η συνάρτηση επιστρέφει -1 σε περίπτωση λάθους, διαφορετικά 0 σε περίπτωση επιτυχίας Επικοινωνία με Υποδοχές 20
21 Παράδειγμα 1: Socket() Bind() Παράδειγμα 1 ημιουργία υποδοχής με αριθμητική IP διεύθυνση Υπάρχουν αρκετές μακροεντολές που περιλαμβάνουν προκαθορισμένες διευθύνσεις, όπως INADDR_LOOPBACK, INADDR_BROADCAST κλπ Η μακροεντολή INADDR_ANY επιπτρέπει στο σύστημα να αποδώσει αυτό οποιαδήποτε εισερχόμενη IP διεύθυνση ώστε να επιτευχθεί σύνδεση με απομακρυσμένο υπολογιστή που αναμένει αίτημα σύνδεσης στη συγκεκριμένη θύρα When receiving, a socket bound to this address receives packets from all interfaces When sending, a socket bound with INADDR_ANY binds to the default IP address, which is that of the lowest-numbered interface Επικοινωνία με Υποδοχές 21
22 Παράδειγμα 1: Socket() Bind() Παράδειγμα 1 ημιουργία υποδοχής με αριθμητική IP διεύθυνση Οι συναρτήσεις htons(), htonl() χρησιμοποιούνται για να 'μεταφράσουν', αν είναι απαραίτητο, τη σειρά αποθήκευσης των bytes (byte order) ακεραίων (short και long) μεταξύ του οικείου υπολογιστή και του δικτύου (host to network) Αντίστοιχα υπάρχουν και οι συναρτήσεις ntohs(), ntohl() (network to host) Αυτό γίνεται για να εξασφαλιστεί επικοινωνία μεταξύ 'big-endian' και 'long-endian' συστημάτων The htons function can be used to convert an IP port number in host byte order to the IP port number in network byte order Επικοινωνία με Υποδοχές 22
23 Παράδειγμα 1: Socket() Bind() The adjectives big-endian and little-endian refer to which bytes are most significant in multibyte data types and describe the order in which a sequence of bytes is stored in a computer s memory In a big-endian system, the most significant value in the sequence is stored at the lowest storage address (i.e., first) In a little-endian system, the least significant value in the sequence is stored first For example, consider the number 1025 (2 to the tenth power plus one) stored in a 4- byte integer: Who is who Many mainframe computers, particularly IBM mainframes, use a big-endian architecture The PowerPC system is bi-endian because it can understand both systems Most modern computers, including PCs, use the little-endian system (LSB first) The network byte order, as used on the Internet big-endian (MSB first) Επικοινωνία με Υποδοχές 23
24 Παράδειγμα 1: Socket() Bind() #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> int make_socket (unsigned short int port) { int sock; struct sockaddr_in name; /* Create the socket. */ sock = socket (PF_INET, SOCK_STREAM, 0); if (sock < 0) { perror ("socket"); exit (EXIT_FAILURE); } /* Give the socket a name. */ name.sin_family = AF_INET; name.sin_port = htons (port); name.sin_addr.s_addr = htonl (INADDR_ANY); if (bind (sock, (struct sockaddr *) &name, sizeof (name)) < 0) { perror ("bind"); exit (EXIT_FAILURE); } return sock; } Επικοινωνία με Υποδοχές 24
25 Παράδειγμα 1: Socket() Bind() Επικοινωνία με Υποδοχές 25
26 Παράδειγμα 1: Socket() Bind() Επικοινωνία με Υποδοχές 26
27 Παράδειγμα 2: Socket() Bind() Παράδειγμα 2 ημιουργία υποδοχής με χρήση συναρτήσεων και δηλώσεων που συλλέγουν πληροφορίες για τον υπολογιστή μέ βάση το όνομα hostname Το όνομα hostname χρησιμοποιείται ως κλειδή αναζήτησης πληροφοριών σχετικά με τον υπολογιστή σε μια 'βάση δεδομένων υπολογιστών' (host database) Η απλούστερη host database είναι το αρχείο /etc/hosts που διατηρεί κάθε σύστημα UNIX/Linux Η συνάρτηση gethostbyname() αναζητά πληροφορίες για τον υπολογιστή με το όνομα hostname στη βάση δεδομένων και τις αποθηκεύει στη δομή hostinfo Από τη δομή hostinfo αντιγράφουμε στη δομή sockaddr την IP διεύθυνση του υπολογιστή The gethostbyname() function returns a structure of type hostent for the given host name. Here name is either a host name, or an IPv4 address in standard dot notation, or an IPv6 address in colon (and possibly dot) notation. If name is an IPv4 or IPv6 address, no lookup is performed and gethostbyname() simply copies name into the h_name field and its struct in_addr equivalent into the h_addr_list[0] field of the returned hostent structure Αντίστοιχη διαδικασία μπορεί να υλοποιηθεί και για την τιμή port, η οποία θα μπορούσε να εξαχθεί από μια βάση δεδομένων υπηρεσιών (service database) έτσι ώστε η θύρα λαμβάνει τη τιμή που αντιστοιχεί στο όνομα της αντιστοιχης υπηρεσίας Η συνηθισμένη βάση δεδομένων είναι το αρχείο /etc/services Επικοινωνία με Υποδοχές 27
28 Παράδειγμα 2: Socket() Bind() #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> void init_sockaddr (struct sockaddr_in *name, const char *hostname, unsigned short int port) { struct hostent *hostinfo; name->sin_family = AF_INET; name->sin_port = htons (port); hostinfo = gethostbyname (hostname); if (hostinfo == NULL) { fprintf (stderr, "Unknown host %s.\n", hostname); exit (EXIT_FAILURE); } } name->sin_addr = *(struct in_addr *) hostinfo->h_addr; Επικοινωνία με Υποδοχές 28
29 Σύνδεση Υποδοχών Ροής Συνήθως η σύνδεση μέσω υποδοχών δεν είναι συμμετρική Η μια διεργασία λειτουργεί ως διακομιστής και η άλλη ως πελάτης Ο διακομιστής συνδέει την υποδοχή του σε προσυμφωνημένο όνομα διαδρομής ή θύρα Στη συνέχεια αναμένει αιτήσεις επικοινωνίας άλλων διεργασιών μέσω της υποδοχής Στη περίπτωση υποδοχών ροής (SOCK_STREAM), ο διακομιστής καλεί τη συνάρτηση listen() Ο πελάτης συνδέεται στην υποδοχή του διακομιστή με τη συνάρτηση connect() που έχει σύνταξη και λειτουργία αντίστοιχη με τη συνάρτηση bind() Στη περίπτωση που ο τύπος της υποδοχής είναι SOCK_STREAM ο διακομιστής απαντά στo αίτημα connect() με τη συνάρτηση accept() ώστε να ολοκληρωθεί η επικοινωνία Επικοινωνία με Υποδοχές 29
30 Κλήση Συστήματος Listen() int listen(int s, int backlog) Η listen() καθιερώνει το socket ως το παθητικό άκρο μίας σύνδεσης εν αναστέλλει την εκτέλεση της διεργασίας Κανένα μήνυμα δεν μπορεί να σταλεί μέσω αυτού του socket Τα εισερχόμενα μηνύματα μπορούν να παραληφθούν s Eίναι ο file descriptor που συνδέεται με το socket που δημιουργείται χρησιμοποιώντας την socket() backlog είναι το μέγεθος της ουράς αναμονής των αιτήσεων που περιμένουν ενώ ο εξυπηρετητής είναι απασχολημένος με την εξυπηρέτηση μίας αίτησης Η συνήθης τιμή είναι 5 Once a connection is accepted, it is dequeued 0 επιστρέφεται στην επιτυχία, -1 στο λάθος με το errno να δείχνει το πρόβλημα Επικοινωνία με Υποδοχές 30
31 Κλήση Συστήματος Connect() int connect(int sockfd, struct sockaddr *serv_addr, int addrlen) H connect, εγκαθιδρύει μια σύνδεση με ένα απομακρυσμένο host sockfd Είναι το τοπικό socket file descriptor serv_addr Είναι η διεύθυνση του απομακρυσμένου host που θέλουμε να συνδεθούμε Addrlen Το μέγεθος της διεύθυνσης connect() returns an integer representing the error code: 0 represents success, while -1 represents an error Επικοινωνία με Υποδοχές 31
32 Κλήση Συστήματος Accept() int accept(int sockfd, struct sockaddr *name, int *namelen) Η κλήση της accept() εγκαθιστά μια σύνδεση πελάτη-εξυπηρετητή από την πλευρά του εξυπηρετητή Ο πελάτης ζητά τη χρησιμοποίηση της σύνδεσης με την κλήση της connect() Ο εξυπηρετητής πρέπει να έχει δημιουργήσει το socket χρησιμοποιώντας την socket(), να έχει δώσει ένα όνομα στο socket με την bind(), και να την ενεργοποιήσει περιμένοντας νέες αιτήσεις με την listen() sockfd Eίναι ο file descriptor για το socket o οποίος επιστρέφεται από την socket() name Eίναι ένας δείκτης σε μια δομή του τύπου sockaddr Η κλήση της accept() επιστρέφει -1 σε περίπτωση λάθους και ένα νέο περιγραφέα υποδοχής, που αναφέρεται μόνο στη συγκεκριμένη σύνδεση Ένας διακομιστής μπορεί να έχει ταυτόχρονα πολλαπλές συνδέσεις SOCK_STREAM σε μια υποδοχή All further communication with the remote host now occurs via this new socket Datagram sockets do not require processing by accept() since the receiver may immediately respond to the request using the listening socket Επικοινωνία με Υποδοχές 32
33 Κλήση Συστήματος Recvfrom() Ανάλογα με το είδος του socket που χρησιμοποιείται, υπάρχουν διαφορετικές εντολές για αποστολή και λήψη δεδομένων Για stream sockets int send(int sockfd, const void *msg, int len, int flags); int recv(int sockfd, void *buf, int len, unsigned int flags); Για datagram sockets int sendto(int sockfd, const void *msg, int len, unsigned int flags, const struct sockaddr *to, int tolen); int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen); Επικοινωνία με Υποδοχές 33
34 Κλήση Συστήματος Sendto() int sendto(int s, char *msg, int len, int flags, struct sockaddr *to, int tolen) Αυτή η λειτουργία επιτρέπει να αποσταλεί ένα μήνυμα msg μήκους len σε ένα socket με file descriptor s το οποίο περιγράφεται με το to και tolen, όπου tolen είναι το πραγματικό μήκος το to Τα flags προς το παρόν θα είναι 0 Ο αριθμός χαρακτήρων που στέλνονται είναι ο αριθμός που επιστρέφει η συνάρτηση Όταν υπάρξει κάποιο πρόβλημα, -1 επιστρέφεται και το errno περιγράφει το λάθος Επικοινωνία με Υποδοχές 34
35 Κλήση Συστήματος Recvfrom() int recvfrom(int s, char *msg, int len, int flags, struct sockaddr *from, int *fromlen) Αυτή η συνάρτηση επιτρέπει σε ένα μήνυμα msg με μέγιστο μήκος len να διαβαστεί από ένα socket με file descriptor s το οποίο περιγράφεται με το from και fromlen, όπου fromlen είναι το πραγματικό μήκος το from Ο αριθμός χαρακτήρων που διαβάζονται πραγματικά από την υποδοχή είναι και ο αριθμός που επιστρεφεται από την συνάρτηση Όταν υπάρξει κάποιο λάθος, -1 επιστρέφεται και το errno περιγράφει το λάθος Τα flags μπορεί να είναι 0, ή μπορεί να είναι MSG_PEEK για να εξετάσει ένα μήνυμα χωρίς πραγματικά να το λάβει από τη ουρά αναμονής Εάν κανένα μήνυμα δεν είναι διαθέσιμο για να διαβαστεί, η διαδικασία θα μπλοκάρει περιμένοντας ένα, εκτός και αν το socket έχει οριστεί με nonblocking συμπεριφορά Η συνάρτηση read() μπορεί επίσης να χρησιμοποιηθεί για να διαβάσουμε δεδομένα από ένα socket Επικοινωνία με Υποδοχές 35
36 Κλήση Συστήματος Close() int close(sockfd) The operating system does not release the resources allocated to a socket until a close() call occurs on the socket descriptor This is especially important if the connect() call fails and may be retried Each successful call to socket() must have a matching call to close() in all possible execution paths The header file <unistd.h> defines the close function When the close() system call is initiated by an application, only the interface to the socket is destroyed, not the socket itself It is the kernel's responsibility to destroy the socket internally Sometimes, a socket may enter a TIME_WAIT state, on the server side, for up to 4 minutes Επικοινωνία με Υποδοχές 36
37 UDP Επικοινωνία client/server Τα πρωτόκολλα επικοινωνίας χωρίς σύνδεση (Connectionless Protocols) επιτρέπουν την αποστολή δεδομένων χωρίς να είναι απαραίτητη η σύνδεση πριν την αποστολή των δεδομένων Το πρωτόκολλο UDP (User Datagram Protocol- Πρωτόκολλο Αυτοδύναμο Πακέτου Χρήστη) είναι ένα πρωτόκολλο επικοινωνίας χωρίς σύνδεση Σε ένα connectionless πρωτόκολλο και τα δύο sockets πρέπει να γνωστοποιήσουν την ύπαρξή τους στο σύστημα χρησιμοποιώντας την bind Όταν καλείται η bind συνδέεται με ένα νέο port δεν μπορεί να συνδεθεί με ένα που ήδη χρησιμοποιείται Εάν θέσουμε το port = 0 τότε το σύστημα δίνει ένα αχρησιμοποίητο μέχρι εκείνη τη στιγμή port Για να γράψουμε ή να διαβάσουμε δεδομένα χρησιμοποιούμε τις συναρτήσεις recvform/sendto και όχι τις read/write Επικοινωνία με Υποδοχές 37
38 UDP Επικοινωνία client/server Επικοινωνία με Υποδοχές 38
39 UDP Server.c Επικοινωνία με Υποδοχές 39
40 UDP Server.c Επικοινωνία με Υποδοχές 40
41 UDP Client.c Επικοινωνία με Υποδοχές 41
42 UDP Client.c Επικοινωνία με Υποδοχές 42
43 TCP Επικοινωνία client/server Ο server κάνει το socket του γνωστό στο σύστημα χρησιμοποιώντας την bind Αυτό βοηθάει στην εύρεση του socket από κάποιο άλλο socket Ο server ακούει ( listen ) σε αυτό το socket για να δεχτεί ( accept ) εισερχόμενα μηνύματα Ο πελάτης (client) δημιουργεί μία δικτυακή σύνδεση στο αντίστοιχο socket και οι δύο διαδικασίες (client- server) αρχίζουν την ανταλλαγή μηνυμάτων Η ανταλλαγή μηνυμάτων είναι χωρίς όριο και γίνεται και προς τις δύο κατευθύνσεις Επικοινωνία με Υποδοχές 43
44 TCP Επικοινωνία client/server Επικοινωνία με Υποδοχές 44
45 Συναρτήσεις Μετατροπής Διευθύνσεων inet_ntoa(), inet_aton(), inet_addr All of these functions convert IP addresses from a struct in_addr to a string in dots-andnumbers format (e.g. " ") and vice-versa struct in_addr is part of your struct sockaddr_in, most likely If you have an IP address passed on the command line this is the easiest way to get a struct in_addr to connect() to The function inet_ntoa() converts a network address in a struct in_addr to a dots-andnumbers format string The "n" in "ntoa" stands for network, and the "a" stands for ASCII for historical reasons The function inet_aton() is the opposite, converting from a dots-and-numbers string into a in_addr_t (which is the type of the field s_addr in your struct in_addr) Finally, the function inet_addr() is an older function that does basically the same thing as inet_aton() It's theoretically deprecated, but you'll see it a lot and the police won't come get you if you use it These functions are deprecated because they don't handle IPv6! Use inet_ntop() or inet_pton() instead! They are included here because they can still be found in the wild Επικοινωνία με Υποδοχές 45
46 Συναρτήσεις Μετατροπής Διευθύνσεων Επικοινωνία με Υποδοχές 46
47 Συναρτήσεις Μετατροπής Διευθύνσεων Επικοινωνία με Υποδοχές 47
48 Συναρτήσεις Ανάκτησης Ονομάτων Επικοινωνία με Υποδοχές 48
49 Συναρτήσεις Ανάκτησης Ονομάτων The gethostbyname() and gethostbyaddr() functions These functions are not strictly a component of the BSD socket API, but are often used in conjunction with the API functions For instance If you have " you can use gethostbyname() to get its IP address and store it in a struct in_addr Conversely, if you have a struct in_addr or a struct in6_addr, you can use gethostbyaddr() to get the hostname back Furthermore, these functions are now considered legacy interfaces for querying the domain name system New functions that are completely protocol-agnostic have been defined These new function are getaddrinfo() and getnameinfo(), and are based on a new addrinfo data structure In particular, gethostbyname() doesn't work well with IPv6 gethostbyaddr() is IPv6 compatible, but you should use the newer shinier getnameinfo() instead Επικοινωνία με Υποδοχές 49
50 Συναρτήσεις Ανάκτησης Ονομάτων The gethostbyname() and gethostbyaddr() functions Used to resolve host names and addresses in the domain name system or the local host's other resolver mechanisms (e.g., /etc/hosts lookup) They return a pointer to an object of type struct hostent, which describes an Internet Protocol host The functions take the following arguments: name specifies the name of the host. For example: addr specifies a pointer to a struct in_addr containing the address of the host. len specifies the length, in bytes, of addr. type specifies the address family type (e.g., AF_INET) of the host address. The functions return a NULL pointer in case of error, in which case the external integer h_errno may be checked to see whether this is a temporary failure or an invalid or unknown host Otherwise a valid struct hostent * is returned Επικοινωνία με Υποδοχές 50
51 Συναρτήσεις Ανάκτησης Ονομάτων Επικοινωνία με Υποδοχές 51
52 Συναρτήσεις Ανάκτησης Ονομάτων The getaddrinfo() and getnameinfo() functions Part of the POSIX standard application programming interface (API) for converting domain name system (DNS) hostnames and IP addresses between their humanreadable text representations and structured binary formats for the operating system's networking API They are inverse functions of each other This set of functions is fully network protocol agnostic and supports both IPv4 and IPv6 It is the recommended interface for name resolution in building protocol independent applications and for transitioning legacy IPv4 code to the IPv6 Internet getaddrinfo() Converts human-readable text strings representing hostnames or IP addresses into a dynamically allocated linked list of struct addrinfo structures getnameinfo() Converts the internal binary representation of an IP address in the form of a struct sockaddr pointer into text strings consisting of the hostname or, if the address cannot be resolved into a name, a textual IP address representation, as well as the service port name or number Επικοινωνία με Υποδοχές 52
53 Συναρτήσεις Ανάκτησης Ονομάτων The getaddrinfo() and getnameinfo() functions The C data structure used to represent addresses and hostnames within the networking API is the following: Επικοινωνία με Υποδοχές 53
Προγραμματισμός με BSD Sockets σε περιβάλλον Linux
Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Απρίλιος 2016 Περίγραμμα παρουσίασης 1 Εισαγωγή 2 Δικτυακά
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ: Network Programming TCP Sockets
Δίκτυα Επικοινωνιών ΙΙ: Network Programming TCP Sockets Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Δικτυακός Προγραμματισμός Βασικές Έννοιες: IP addresses,
Διαβάστε περισσότεραΕργαστήριο Δικτύων Υπολογιστών
Εργαστήριο Δικτύων Υπολογιστών 3 η Διάλεξη: Δικτυακός Προγραμματισμός Unix Socket programming Μοντέλο client-server O βασικός τύπος δικτυακών εφαρμογών είναι client - server H σχέση server και client μπορεί
Διαβάστε περισσότεραΝτίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4
Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 1 Διαχείριση εργασιών fork(), exit(), exec() (βλ 2 ο Φροντ.) Επικοινωνία διεργασιών signals (βλ 2 ο Φροντ.) sockets και client/server,
Διαβάστε περισσότερα(C) 2010 Pearson Education, Inc. All rights reserved.
Connectionless transmission with datagrams. Connection-oriented transmission is like the telephone system You dial and are given a connection to the telephone of fthe person with whom you wish to communicate.
Διαβάστε περισσότεραΥποδοχείς (Sockets) Προγραμματισμός II 1
Υποδοχείς (Sockets) Προγραμματισμός II 1 lalis@inf.uth.gr Υποδοχείς Ειδικές δομές διαδιεργασιακής επικοινωνίας Προσπελάζονται μέσω περιγραφέων αρχείων μπορεί να χρησιμοποιηθούν οι read, write, close μπορεί
Διαβάστε περισσότεραΕπίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής
Επίπεδο Μεταφοράς (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς(Transport layer) Επίπεδο εφαρμογής (Application layer): Συντονισμός
Διαβάστε περισσότεραΕργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
Διαβάστε περισσότεραΛειτουργικά Συστήματα
Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΖητήματα Σχεδίασης Λογισμικού Πελάτη
Ζητήματα Σχεδίασης Λογισμικού Πελάτη Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Αναγνώριση Τοποθεσίας Εξυπηρετητή Για την αναγνώριση της διεύθυνσης και της θύρας ενός εξυπηρετητή ο πελάτης μπορεί να
Διαβάστε περισσότεραΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη
ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013
Διαβάστε περισσότεραΔικτυακός προγραμματισμός
Δικτυακός προγραμματισμός (hands on) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Μοντέλο client-server O βασικός τύπος δικτυακών εφαρμογών είναι client - server H σχέση
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals
Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,
Διαβάστε περισσότεραΔικτυακός Προγραμματισμός (Sockets Programming) Εργαστήριο Γ Εξάμηνο, Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας
Δικτυακός (Sockets Programming) Εργαστήριο Γ Εξάμηνο, Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Δικτυακός, Douglas E. Comer, David L. Stevens, Εκδόσεις ΙΩΝ,
Διαβάστε περισσότεραΕπικοινωνία Client/Server Υποδοχές (Παραδείγματα)
Επικοινωνία Client/Server Υποδοχές (Παραδείγματα) Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία με Υποδοχές (Παραδείγματα) 1 Συναρτήσεις Ανάκτησης Ονομάτων Επικοινωνία με Υποδοχές
Διαβάστε περισσότεραΕπίπεδο δικτύου IP Forwading κτλ
Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):
Διαβάστε περισσότεραΖητήματα Σχεδίασης Λογισμικού Εξυπηρετητή
Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Ταυτόχρονοι και Επαναληπτικοί Εξυπηρετητές Επαναληπτικός εξυπηρετητής: επεξεργάζεται μόνο μία αίτηση τη φορά. Ταυτόχρονος
Διαβάστε περισσότεραΕγχειρίδιο Συναρτήσεων. Socket *sopen(const int type, const int protocol, const char *host, const char *service)
Socket *sopen(const int type, const int protocol, const char *host, const char *service) Στην περίπτωση ενός client, δημιουργεί μια νέα σύνδεση και κατασκευάζει μια δομή Socket που σχετίζεται με αυτή Σε
Διαβάστε περισσότεραιαδικτυακές Εφαρµογές
ιαδικτυακές Εφαρµογές µε Java2 Στοιχεία ικτυακής Επικοινωνίας Όροι IP address 32bit αριθµός που χρησιµοποιείται από το Internet Protocol για την παράδοση δεδοµένων στο σωστό υπολογιστή στο δίκτυο. Port
Διαβάστε περισσότεραHY150a Φροντιστήριο 3 24/11/2017
HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 1999-2000 ΜΑΘΗΜΑ : ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ : Θ. ΑΠΟΣΤΟΛΟΠΟΥΛΟΣ ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ CLIENT-SERVER(πελάτη-εξυπηρετητή)
Διαβάστε περισσότεραWeb and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol
HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)
Διαβάστε περισσότερα{ int pipe(int fd[ ]) close
104 { { { { { { 105 pipe { int pipe(int fd[ ]) { fd[0] fd[1] {, -,,, write read { close { pipe 0-1 106 pipe /* File: pipe_demo.c */ #include /* For printf */ #define READ 0 /* Read end of pipe
Διαβάστε περισσότεραThe Simply Typed Lambda Calculus
Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and
Διαβάστε περισσότεραΣτρατηγικές Ασφάλειας
Στρατηγικές Ασφάλειας Ασφάλεια Πληροφοριακών Συστημάτων. Διδάσκων: Σ. Κοντογιάννης Least/(Most) Privileges Defense in Depth Συγκεντρωτική Στρατηγική Weakest Link Strategy Fail Safe Stance Fail Safe Stance
Διαβάστε περισσότερα4 η ιάλεξη: Signals UDP Sockets
Εργαστήριο ικτύων Υπολογιστών 4 η ιάλεξη: ικτυακός Προγραμματισμός Signals UDP Sockets TCP sockets και signals Όταν σε ένα TCP server κάνουμε fork (γεννάμε διεργασίες-παιδιά servers για να εξυπηρετήσουμε
Διαβάστε περισσότεραΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 12: Συνοπτική Παρουσίαση Ανάπτυξης Κώδικα με το Matlab Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραSocket Application Programming Interface
Socket Application Programming Interface Εισαγωγή Το socket είναι ένας τύπος διεπαφής μεταξύ των προγραμμάτων εφαρμογής και του λογισμικού πρωτοκόλλων Είναι ευρέως διαθέσιμο για να διασφαλίζεται η μεταφερσιμότητα
Διαβάστε περισσότεραΒασικά Θέματα Επικοινωνίας. Κατανεμημένα Συστήματα 1
Βασικά Θέματα Επικοινωνίας Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Πρωτόκολλο επικοινωνίας Η/Υ Προσδιορίζει τους κανόνες που διέπουν την επικοινωνία ανάμεσα στα εμπλεκόμενα μέρη τα μηνύματα και (εν μέρει)
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 23: Εισαγωγή στην Δικτύωση (Networking) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διευθύνσεις και Θύρες - Sockets και ServerSockets Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ233 Αντικειμενοστρεφής
Διαβάστε περισσότεραΔίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)
TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/2006
ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 11/3/26 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι το 1 εκτός αν ορίζεται διαφορετικά στη διατύπωση
Διαβάστε περισσότεραΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011
Διάρκεια Διαγωνισμού: 3 ώρες Απαντήστε όλες τις ερωτήσεις Μέγιστο Βάρος (20 Μονάδες) Δίνεται ένα σύνολο από N σφαιρίδια τα οποία δεν έχουν όλα το ίδιο βάρος μεταξύ τους και ένα κουτί που αντέχει μέχρι
Διαβάστε περισσότεραΗ Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα
Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial
ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial Introduction Το Javadoc είναι ένα εργαλείο που παράγει αρχεία html (παρόμοιο με τις σελίδες στη διεύθυνση http://docs.oracle.com/javase/8/docs/api/index.html) από τα σχόλια
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο
Διαβάστε περισσότεραTopic 5: Sockets. *Ευχαριστίες στους Jim Kurose, Keith Ross, Τάκη Σταµατόπουλο, Αλέξη ελή, και Αντώνη ελιγιαννάκη
Topic 5: Sockets *Ευχαριστίες στους Jim Kurose, Keith Ross, Τάκη Σταµατόπουλο, Αλέξη ελή, και Αντώνη ελιγιαννάκη Επικοινωνία διεργασιών σε διαφορετικούς υπολογιστές Έχουµε δει(ή θαδούµε) διαδιεργασιακή
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 11: Sockets Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΠρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής
Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους
Διαβάστε περισσότεραΕπικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών
Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,
Διαβάστε περισσότεραHY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη
HY-335a Project: microtcp *, μία lightweight TCP βιβλιοθήκη Deadline πρώτης ϕάσης : 13 Δεκεμβρίου 2016, 23:59 * Εμπνευσμένο και υλοποιημένο από το Μανώλη Σουρλίγκα :) Γενική περιγραϕή Στο οικοσύστημα του
Διαβάστε περισσότεραHY335 4ο Φροντιστήριο
HY335 4ο Φροντιστήριο Δημιουργία ενός τοπικού δικτύου και επίδειξη προγραμμάτων τύπου client / server για TCP και UDP Fontas Fafoutis Ilias Tsompanidis Δημιουργία
Διαβάστε περισσότερα6.1. Dirac Equation. Hamiltonian. Dirac Eq.
6.1. Dirac Equation Ref: M.Kaku, Quantum Field Theory, Oxford Univ Press (1993) η μν = η μν = diag(1, -1, -1, -1) p 0 = p 0 p = p i = -p i p μ p μ = p 0 p 0 + p i p i = E c 2 - p 2 = (m c) 2 H = c p 2
Διαβάστε περισσότεραΕργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL
Διαβάστε περισσότεραΕργαστήριο Δικτύων Υπολογιστών
Εργαστήριο Δικτύων Υπολογιστών 2 η Διάλεξη: TCP/UDP Δικτυακά πρωτόκολλα / εφαρμογές Ports Unix δικτυακές εντολές Transmission Control Protocol - TCP Πρωτόκολλο Mεταφοράς RFC 793 [Postel 1981] Xρησιμοποιεί
Διαβάστε περισσότεραderivation of the Laplacian from rectangular to spherical coordinates
derivation of the Laplacian from rectangular to spherical coordinates swapnizzle 03-03- :5:43 We begin by recognizing the familiar conversion from rectangular to spherical coordinates (note that φ is used
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις
Διαβάστε περισσότεραΔίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας
Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία
Διαβάστε περισσότεραHomework 3 Solutions
Homework 3 Solutions Igor Yanovsky (Math 151A TA) Problem 1: Compute the absolute error and relative error in approximations of p by p. (Use calculator!) a) p π, p 22/7; b) p π, p 3.141. Solution: For
Διαβάστε περισσότεραΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006
Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή
Διαβάστε περισσότερα2η Προγραµµατιστική Εργασία
Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων
Διαβάστε περισσότεραCYTA Cloud Server Set Up Instructions
CYTA Cloud Server Set Up Instructions ΕΛΛΗΝΙΚΑ ENGLISH Initial Set-up Cloud Server To proceed with the initial setup of your Cloud Server first login to the Cyta CloudMarketPlace on https://cloudmarketplace.cyta.com.cy
Διαβάστε περισσότερα14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης
14. Δικτύωση με Java Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δημιουργείτε έναν ελάχιστο εξυπηρέτη TCP/IP σε Java Να δημιουργείτε έναν ελάχιστο εξυπηρετούμενο TCP/IP σε Java Να κατανοείτε πώς υλοποιούνται
Διαβάστε περισσότεραInstruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
Διαβάστε περισσότεραEPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)
EPL 603 TOPICS IN SOFTWARE ENGINEERING Lab 5: Component Adaptation Environment (COPE) Performing Static Analysis 1 Class Name: The fully qualified name of the specific class Type: The type of the class
Διαβάστε περισσότεραΔίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης
Δίκτυα Υπολογιστών Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης Περίγραμμα ενότητες που εξετάζονται Αρχές δικτυακών εφαρμογών Αρχιτεκτονικές Μοντέλα υπηρεσιών επιπέδου μεταφοράς Μοντέλο πελάτη
Διαβάστε περισσότερα2 Composition. Invertible Mappings
Arkansas Tech University MATH 4033: Elementary Modern Algebra Dr. Marcel B. Finan Composition. Invertible Mappings In this section we discuss two procedures for creating new mappings from old ones, namely,
Διαβάστε περισσότεραΕπίπεδο δικτύου IP διευθυνσιοδότηση
Επίπεδο δικτύου IP διευθυνσιοδότηση (πες μου την IP σου να σου πω ποιος είσαι) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής
Διαβάστε περισσότεραC.S. 430 Assignment 6, Sample Solutions
C.S. 430 Assignment 6, Sample Solutions Paul Liu November 15, 2007 Note that these are sample solutions only; in many cases there were many acceptable answers. 1 Reynolds Problem 10.1 1.1 Normal-order
Διαβάστε περισσότεραΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 15/03/2014 Συμπληρωματικές Διαφάνειες
ΕΑΠ/ΠΛΗ22/ΑΘΗ.3 4 η ΟΣΣ 5/03/204 Συμπληρωματικές Διαφάνειες Νίκος Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου ΟΣΣ/5.03.204/Ν.Δημητρίου 2 ΟΣΣ/5.03.204/Ν.Δημητρίου 3 ΟΣΣ/5.03.204/Ν.Δημητρίου 4 Θεωρία Aloha/Slotted
Διαβάστε περισσότεραΚατανεμημένα Συστήματα. Javascript LCR example
Κατανεμημένα Συστήματα Javascript LCR example Javascript JavaScript All JavaScript is the scripting language of the Web. modern HTML pages are using JavaScript to add functionality, validate input, communicate
Διαβάστε περισσότεραUNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences EECS 150 Fall 2001 Prof. Subramanian Midterm II 1) You are implementing an 4:1 Multiplexer that has the following specifications:
Διαβάστε περισσότεραΠρογραµµατισµός ικτύων Ε-01
Προγραµµατισµός ικτύων Ε-01 3η ιάλεξη ιδάσκων: Νίκος Ντάρµος [http://www.cs.uoi.gr/~ntarmos/courses/networkprogramming/] Τµήµα Πληροφορικής Πανεπιστήµιο Ιωαννίνων Στο σηµερινό µάθηµα...
Διαβάστε περισσότεραDynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016
Harvard School of Engineering and Applied Sciences CS 152: Programming Languages Dynamic types, Lambda calculus machines Apr 21 22, 2016 1 Dynamic types and contracts (a) To make sure you understand the
Διαβάστε περισσότεραΑΤΜ PROJECT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2011-2012. Άννα Τριανταφύλλου ΑΕΜ : 456. επιβλέπων καθηγητής: Μηνάς Δασυγένης
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΑΤΜ PROJECT Άννα Τριανταφύλλου ΑΕΜ : 456 επιβλέπων καθηγητής: Μηνάς Δασυγένης Περιεχόμενα 1. 2. 3.
Διαβάστε περισσότεραNetwork Address Translation (NAT)
HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων
Διαβάστε περισσότεραΚ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ
σελίδα 1 Κ. Στάµος Μηχανικός Η/Υ και Πληροφορικής, Πανεπιστήµιο Πατρών Μηχανικός Έρευνας και Ανάπτυξης, ΕΜ6/ΕΑΙΤΥ Περιεχόµενα Αναφορά στις αλλαγές που επιφέρει το IPv6 στην ανάπτυξη δικτυακών εφαρµογών
Διαβάστε περισσότεραPARTIAL NOTES for 6.1 Trigonometric Identities
PARTIAL NOTES for 6.1 Trigonometric Identities tanθ = sinθ cosθ cotθ = cosθ sinθ BASIC IDENTITIES cscθ = 1 sinθ secθ = 1 cosθ cotθ = 1 tanθ PYTHAGOREAN IDENTITIES sin θ + cos θ =1 tan θ +1= sec θ 1 + cot
Διαβάστε περισσότεραΔίκτυα Η/Υ στην Επιχείρηση
Δίκτυα Η/Υ στην Επιχείρηση Δικτυακά πρωτόκολλα και εφαρμογές, Δρομολόγηση Γκάμας Βασίλειος, Εργαστηριακός Συνεργάτης Μοντέλο πελάτη-εξυπηρετητή Προκειμένου να χρησιμοποιήσουμε μια υπηρεσία του Internet
Διαβάστε περισσότεραSection 9.2 Polar Equations and Graphs
180 Section 9. Polar Equations and Graphs In this section, we will be graphing polar equations on a polar grid. In the first few examples, we will write the polar equation in rectangular form to help identify
Διαβάστε περισσότεραΠρογραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Διαβάστε περισσότεραSOAP API. https://bulksmsn.gr. Table of Contents
SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850
Διαβάστε περισσότεραΕγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade
Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.
Διαβάστε περισσότεραΕργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο
Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle JDBC
Διαβάστε περισσότεραSpecial edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 NUTWBCAM
NUTWBCAM A.S. DRIGAS Applied Technologies Department NCSR DEMOKRITOS Ag. Paraskevi GREECE dr@imm.demokritos.gr http://imm.demokritos.gr Το NutWBCam είναι ένα RealVideo πρόγραµµα που σας δίνει τη δυνατότητα
Διαβάστε περισσότεραΕισαγωγή Επανάληψη. ΤΕΙ Στερεάς Ελλάδας. ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Διαδικτυακός Προγραμματισμός
Εισαγωγή Επανάληψη ΣT Εξάμηνο, Κατεύθυνση Μηχανικών Δικτύων Τ.Ε. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Στερεάς Ελλάδας Δήλωση Οι διαφάνειες βασίζονται στα βιβλία: (1) Computer Networking: A Top Down Approach
Διαβάστε περισσότεραSection 8.3 Trigonometric Equations
99 Section 8. Trigonometric Equations Objective 1: Solve Equations Involving One Trigonometric Function. In this section and the next, we will exple how to solving equations involving trigonometric functions.
Διαβάστε περισσότεραΠρογραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Διαβάστε περισσότεραTMA4115 Matematikk 3
TMA4115 Matematikk 3 Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet Trondheim Spring 2010 Lecture 12: Mathematics Marvellous Matrices Andrew Stacey Norges Teknisk-Naturvitenskapelige Universitet
Διαβάστε περισσότεραFinite Field Problems: Solutions
Finite Field Problems: Solutions 1. Let f = x 2 +1 Z 11 [x] and let F = Z 11 [x]/(f), a field. Let Solution: F =11 2 = 121, so F = 121 1 = 120. The possible orders are the divisors of 120. Solution: The
Διαβάστε περισσότεραΠρογραμματισμός συστημάτων UNIX/POSIX
Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) Ανάγκη Ότι είδαμε μέχρι τώρα μπορεί
Διαβάστε περισσότεραΆσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP
Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από
Διαβάστε περισσότεραΜετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου
Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & Άνοιγμα αρχείου μέσα από τo SPIM, διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη (Διάλεξη 3) 1 Μετατροπή χαρακτήρων ASCII σε ακέραιο Ο πιο κάτω κώδικας
Διαβάστε περισσότεραModbus basic setup notes for IO-Link AL1xxx Master Block
n Modbus has four tables/registers where data is stored along with their associated addresses. We will be using the holding registers from address 40001 to 49999 that are R/W 16 bit/word. Two tables that
Διαβάστε περισσότεραCloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο
CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο Project Phase 1 ΗΥ - 335α Χειμερινό εξάμηνο 2012-2013 Διδάσκουσα: Παπαδοπούλη Μαρία Υπεύθυνος βοηθός: Σουρλίγκας Μανώλης, surligas@csd.uoc.gr
Διαβάστε περισσότεραHancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων
Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό
Διαβάστε περισσότεραΠρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού
Μεταφορά αρχείων Πρωτόκολλο FTP Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού Είναι ανεξάρτητο του λειτουργικού συστήματος και του
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Εισαγωγή
Λειτουργικά Συστήματα Εισαγωγή Λειτουργικά Συστήματα Ι 4/10/2016 Περιληπτικά Στο σημερινό μάθημα θα δούμε ποια είναι η θέση του Λειτουργικού Συστήματος στην οργάνωση ενός ηλεκτρονικού υπολογιστή. Σπύρος
Διαβάστε περισσότεραΣτο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.
Διαστημικό εστιατόριο του (Μ)ΑστροΈκτορα Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά. Μόλις μια παρέα πελατών κάτσει σε ένα
Διαβάστε περισσότεραthe total number of electrons passing through the lamp.
1. A 12 V 36 W lamp is lit to normal brightness using a 12 V car battery of negligible internal resistance. The lamp is switched on for one hour (3600 s). For the time of 1 hour, calculate (i) the energy
Διαβάστε περισσότεραΕικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1
Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις
Διαβάστε περισσότεραΔημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony
Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Ελληνικά Ι English 1/7 Δημιουργία Λογαριασμού Διαχείρισης Επιχειρηματικής Τηλεφωνίας μέσω της ιστοσελίδας
Διαβάστε περισσότεραΔιαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1
Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1 lalis@inf.uth.gr Συνεργασία ανάμεσα σε διεργασίες Για ασφάλεια/ανεξαρτησία, το ΛΣ εξασφαλίζει πλήρη απομόνωση ανάμεσα στις
Διαβάστε περισσότεραThe challenges of non-stable predicates
The challenges of non-stable predicates Consider a non-stable predicate Φ encoding, say, a safety property. We want to determine whether Φ holds for our program. The challenges of non-stable predicates
Διαβάστε περισσότεραΙόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;
Διαβάστε περισσότεραPortSip Softphone. Ελληνικά Ι English 1/20
PortSip Softphone Ελληνικά Ι English 1/20 1. Περιεχόμενα 2. Εγκατάσταση σε Smartphone & Tablet (Android ή ios)... 1 3. Εγκατάσταση σε ηλεκτρονικό υπολογιστή (Windows ή Mac).... 5 4. Installation in Smartphone
Διαβάστε περισσότεραLecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3
Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3 1 State vector space and the dual space Space of wavefunctions The space of wavefunctions is the set of all
Διαβάστε περισσότεραSCHOOL OF MATHEMATICAL SCIENCES G11LMA Linear Mathematics Examination Solutions
SCHOOL OF MATHEMATICAL SCIENCES GLMA Linear Mathematics 00- Examination Solutions. (a) i. ( + 5i)( i) = (6 + 5) + (5 )i = + i. Real part is, imaginary part is. (b) ii. + 5i i ( + 5i)( + i) = ( i)( + i)
Διαβάστε περισσότεραΚεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων
Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός
Διαβάστε περισσότερα1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26
1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 Το δίκτυο ARPANET ήταν ένα δίκτυο μεταγωγής πακέτων που χρηματοδοτήθηκε από το υπουργείο άμυνας των Η.Π.Α. στα τέλη της δεκαετίας του '60. 2 / 26 Από την αρχή κύριος
Διαβάστε περισσότερα