Junior — Middle
Έχετε εμπειρία με τις υποδοχές για δικτυακή αλληλεπίδραση;
sobes.tech AI
Απάντηση από AI
Ναι, η εμπειρία με τις υποδοχές (sockets) για την δικτυακή αλληλεπίδραση περιλαμβάνει συχνά τη δημιουργία πελατειακών και διακομιστικών εφαρμογών που ανταλλάσσουν δεδομένα μέσω του δικτύου.
Στο Go, συνήθως χρησιμοποιείται το πακέτο net για εργασία με υποδοχές. Για παράδειγμα, μπορείτε να δημιουργήσετε έναν απλό TCP διακομιστή και πελάτη.
Παράδειγμα TCP διακομιστή σε Go:
package main
import (
"fmt"
"net"
)
func main() {
ln, err := net.Listen("tcp", ":8080")
if err != nil {
panic(err)
}
defer ln.Close()
for {
conn, err := ln.Accept()
if err != nil {
fmt.Println("Σφάλμα σύνδεσης:", err)
continue
}
go handleConnection(conn)
}
}
func handleConnection(conn net.Conn) {
defer conn.Close()
buf := make([]byte, 1024)
n, err := conn.Read(buf)
if err != nil {
fmt.Println("Σφάλμα ανάγνωσης:", err)
return
}
fmt.Println("Ληφθέν μήνυμα:", string(buf[:n]))
conn.Write([]byte("Λήφθηκε"))
}
Αυτή η εμπειρία δείχνει κατανόηση της δικτυακής αλληλεπίδρασης σε επίπεδο υποδοχών, διαχείριση συνδέσεων και επεξεργασία δεδομένων.