Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2

ΘΕΜΑ: Οδηγός: Sockets στην python.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2557

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Για σας.

Έφτιαξα αυτόν τον οδηγό διότι μου το ζήτησε ένα παιδί από την κοινότητα.
Λοιπός ας ξεκινήσουμε.

Προτού πω για το module socket της python, πρώτα θα πρέπει να σας εξηγήσω τη είναι τα bytes
(τουλάχιστον για όσους δεν ξέρουν), διότι τα προγράμματα που στέλνουν πληροφορίες μέσου του
διαδικτύου τα στέλνουν σε μορφή bytes, επομένως θα πρέπει να γνωρίζετε τη είναι.

Ένα byte είναι ένας δυαδικός αριθμός που αποτελείτε από 8 ψηφία 0 και 1. Δηλαδή αυτό εδώ 01101101
είναι ένα byte.Τα bytes αναπαριστούν δεδομένα,όπως για παράδειγμα έναν χαρακτήρα πχ το 'α' ή οτιδήποτε άλλο μπορεί να χαρακτηριστεί δεδομένο σε μια γλώσσα προγραμματισμού.
Επειδή ο υπολογιστής δεν μπορεί να καταλάβει τη είναι το 'α' για παράδειγμα, χρειάζεται να το
δει ως ένα byte.

Στην python υπάρχει το build in module socket το οποίο επιτρέπει την αποστολή και την παραλαβή
bytes μέσο του διαδικτύου.Μπορείτε πολύ απλά να το περιλάβετε στο πρόγραμμα σας έτσι:
import socket.

Φανταστείτε το socket ως μία "γέφυρα" η οποία ενώνει έναν υπολογιστή με έναν άλλον έτσι ώστε
να μπορούν τα δεδομένα να μεταφερθούν από τον ένα υπολογιστή στον άλλον.

Ας αρχίσουμε με ένα παράδειγμα.
import socket
 
SOCKET = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

Αυτό που έκανα προηγουμένως είναι η δημιουργία ενός αντικειμένου τύπου socket.
Αυτό το χρησιμοποιούμε για να κάνουμε οτιδήποτε έχει σχέσει με την αποστολή και παραλάβει
bytes.

Στις παρενθέσεις έχω δώσει 2 παραμέτρους.Η πρώτη παράμετρος ονομάζετε family του socket
και αντιπροσωπεύει ένα tuple (ip, port).Στην ουσία λέω στο socket μου ότι θέλω να χρησιμοποιώ
ένα ip και ένα port για να συνδεθώ σε άλλους υπολογιστές ή να δημιουργήσω ένα server.
Υπάρχουνε και άλλα είδη family αλλά ο ποίο διαδεδομένος είναι ο AF_INET και σας προτείνω να
χρησιμοποιείτε πάντα αυτόν.Άμα θέλετε να τα μάθετε όλα αυτά μπορείτε να δείτε το document της
python για τα sockets.

H δεύτερη παράμετρος είναι ο τύπος του socket (TCP ή UDP).Εδώ χρησιμοποιώ το πρωτόκολλο tcp
λέγοντάς στην python ότι θέλω να χρησιμοποιήσω τον τύπο SOCK_STREAM.Σας προτείνω να χρησιμοποιείτε πάντα αυτόν τον τύπο για τι είναι ο ποιο διαδεδομένος.

Άμα θέλετε να μάθετε πλήρως τη συμβαίνει ακριβώς με αυτές τις παραμέτρους τότε θα πρέπει
να μάθετε για τα πρωτόκολλα του διαδικτύου.Αλλά άμα δεν σας ενδιαφέρουν δεν χρειάζεται.

Ακόμα και αν δεν καταλάβατε τη κάνουν αυτές η παραμέτρους δεν υπάρχει πρόβλημα αρκεί κάθε
φορά που θέλετε να φτιάξετε ένα πρόγραμμα που να χρησιμοποιεί sockets πρέπει να δημιουργείτε
ένα object (αντικείμενο) με αυτόν τον τρόπο: socket.socket(socket.AF_INET, socket.SOCK_STREAM)

Στην συνέχεια θα σας δείξω πως λειτουργεί ένας server.

import socket
 
#-----Μεταβλητές-----#
ip   = ""
port = 5555
 
INET_tuple = (ip, port)
#-----Μεταβλητές-----#
 
SOCKET = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
SOCKET.bind( INET_tuple )
SOCKET.listen(1)
 
client, address = SOCKET.accept()

Πρώτα ορίζω κάποιες μεταβλητές.Στην συνέχεια δημιουργώ ένα αντικείμενο τύπου socket.
Μετά "δένω" το socket μου με το SOCKET.bind() στον υπολογιστή μου, δηλαδή φανταστείτε
ότι έχω ενώσει αυτήν την γέφυρα που έλεγα προηγουμένως στον υπολογιστή μου.Η bind() παίρνει
ως παράμετρο ένα tuple με δύο πράματα μέσα.Τον ip ο οποίο είναι μια συμβολοσειρά και το port
το οποίο είναι ένας ακέραιος αριθμός.Το port μπορεί να είναι ένας οποιοδήποτε αριθμός από
0 - 1023 .Δίνοντας για ip τον κενώ χαρακτήρα "",εννοώ τον τοπικό ipv4 του υπολογιστή μου.
Για να δείτε τη ip έχει ο υπολογιστής σας ανοίξτε τον cmd των windows και γράψτε ipconfig .
Ψάξτε εκεί που λέει ipv4 και δείτε ποιος είναι.Στην συνέχεια με το SOCKET.listen(1), λέω
στον socket μου ότι περιμένω μόνο ένας client(υπολογιστής) να συνδεθεί στον server μου.
Μετά με το socket.accept() το socket περιμένει μέχρι να συνδεθεί ο client στον server μου.
Το πρόγραμμα "κολάι" σε εκείνη την γραμμή μέχρι να συνδεθεί ο client.Μόλις συνδεθεί, το socket
επιστρέφει ένα tuple με δύο πράματα μέσα.Πρώτα ένα αντικείμενο τύπου socket το οποίο στο
συγκεκριμένο παράδειγμα αποθηκεύετε στην μεταβλητή client και δεύτερον ακόμα ένα tuple το
οποίο περιέχει την διεύθυνση του client δηλαδή τον ip και το port από όπου συνδέθηκε.
Χρειάζεσαι οπωσδήποτε την μεταβλητή client για να μπορεί ο server να στέλνει δεδομένα στον
client.

Μέχρι τώρα όμως δημιουργήσαμε τον server και ενώσαμε την γέφυρα μόνο στον ένα υπολογιστή.
Τώρα θα σας δείξω από τη αποτελείτε το script του client.
import socket
 
#-----Μεταβλητές-----#
ip   = "192.168.1.15"
port = 5555
 
INET_tuple = (ip, port)
#-----Μεταβλητές-----#
 
SOCKET = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
SOCKET.connect(INET_tuple)

Eδω κάναμε ότι και προηγούμενος με μία διαφορά.Καλέσαμε την SOCKET.connect() για να συνδεθούμε
σε ένα άλλο socket το οποίο έχει είδη κάνει bind και περιμένει για clients.H connect παίρνει ένα
tuple με τον ip του υπολογιστή που θέλουμε να συνδεθούμε και με port το port που
χρησιμοποιήθηκε για το bind του socket στο script του server.Στην ουσία συνδεθήκαμε στην "γέφυρα"
στην οποία είναι δεμένος ο server μας και τώρα είμαστε έτοιμη για μεταφορά δεδομένων.
#Server
 
import socket
 
#-----Μεταβλητές-----#
ip   = ""
port = 5555
message = "Είσαι καλά?"
 
INET_tuple = (ip, port)
#-----Μεταβλητές-----#
 
SOCKET = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
SOCKET.bind( INET_tuple )
SOCKET.listen(1)
 
client, address = SOCKET.accept()
 
client.sendall( str.encode(message) )

Με το client.sendall μπορούμε να στείλουμε bytes στον client.Σε αυτήν την περίπτωση
θέλω να στείλω ένα μήνυμα.Πρώτα πρέπει να μετατρέψω την συμβολοσειρά σε bytes και μετά
να την στείλω διότι η sendall στέλνει bytes. Με την str.encode() μετατρέπω την συμβολοσειρά
μου σε bytes και στην συνέχεια τα στέλνω στον client με την sendall.





#Client
 
import socket
import sys
 
#-----Μεταβλητές-----#
ip   = "192.168.1.15"
port = 5555
 
INET_tuple = (ip, port)
#-----Μεταβλητές-----#
 
SOCKET = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
SOCKET.connect(INET_tuple)
 
message_bytes = SOCKET.recv(100)
print( bytes.decode(message_bytes) )

Με την SOCKET.recv(100) περιμένω να λάβω 100 bytes.Το πρόβλημα εδώ είναι ότι δεν γνωρίζω πόσα
bytes θα μου στείλει ο server αλλά για το συγκεκριμένο παράδειγμα 100 bytes φτάνουν σίγουρα.
Θα δούμε ποιο μετά πως λύνεται αυτό το πρόβλημα.
Στην συνέχεια για να εμφανίσω το μήνυμα στην οθόνη πρέπει πρώτα να μετατρέψω το bytes σε συμβολοσειρά.Αυτό το κάνω με την συνάρτηση bytes.decode().Στην συνέχεια εμφανίζω την συμβολοσειρά
μου με την print().

Αυτά είναι αρκετά για αρχή.Ότι απορίες έχετε μπορείτε να μου τις γράψετε.
Φτιάξτε αυτά τα δύο scripts και δοκιμάστε να δείτε αν δουλεύουν και αν καταλάβατε πως δουλεύουν.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 2 Χρόνια 9 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Tassos, Muttley Black, Espresso

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2558

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Άμα θέλετε κατεβάστε τα scripts εδώ για να βοηθηθείτε περισσότερο.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Tassos

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2563

  • Tassos
  • Το Άβαταρ του/της Tassos
  • Αποσυνδεμένος
  • pyt___
  • g-lts.info
  • Δημοσιεύσεις: 48
  • Ληφθείσες Ευχαριστίες 2
Τόσο άμεσα κιόλας; Είσαι φοβερός! :D
Ευχαριστώ/ούμε πάρα πολύ, η ανάλυση των sockets μαζί με την εμπειρία σου νομίζω έχουν κάνει ένα πάρα πολύ καλό οδηγό, όπου έλλειπε για την python στα ελληνικά και μόλις προστέθηκε στο καταλληλότερο μέρος.!

Χίλια μπράβο σου και ευχαριστούμε. Τον συντομότερο θα το εξετάσω διεξοδικά! :) :D

Υ.Σ.: Επίσης μαζί με την εμπειρία του καθενός, το παρών θέμα νομίζω είναι στο χέρι μας να γίνει "κέντρο μάθησης των sockets στην python". ) :P :)
Ομάδα Ελληνικής - Μακροχρόνιας υποστήριξη.

Greek - Long Term Support Team.

Επισκεφθείτε μας εδώ : g-lts.info
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": babaliaris1

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2569

  • Muttley Black
  • Το Άβαταρ του/της Muttley Black
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
  • Ληφθείσες Ευχαριστίες 2
Ένα μεγάλο μπράβο για τον οδηγό! Δεν καταλαβαίνω λέξη, λόγο του ότι τώρα θέλω να ξεκινήσω με προγραμματισμό γενικότερα! Στην ουσία θα έλεγα ότι ο προγραμματισμός είναι για εμένα "ευσεβής πόθος"!

Θέλω να ξεκινήσω πρώτα μελετώντας την "bash" (νέος & στο Linux περιβάλλον).

Αλλά ασχέτως με το αν δεν είμαι σε θέση να κατανοήσω τον οδηγό σου, δεν σημαίνει ότι δεν σου αξίζουν συγχαρητήρια! Αργά ή γρήγορα θα τον χρειαστώ.

Μακάρι το σίτε να γίνει λίγο πιο ενεργό... Έχω την εντύπωση ότι το κρατάει ο Kamar και 1-2 ακόμη παιδιά.
Τελευταία διόρθωση: 2 Χρόνια 9 Μήνες πριν από Muttley Black.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2571

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 382
  • Ληφθείσες Ευχαριστίες 80
Για να μάθεις προγραμματισμό, πρέπει να διαβάσεις (όχι μόνο το εγχειρίδιο χρήσης της γλώσσας), αλλά και κώδικα που έχουν γράψει άλλοι, καθώς και πολλή πρακτική εξάσκηση από μέρους σου.

Τώρα, για την κίνηση του forum. Το πρόβλημα έχει να κάνει με τα παρακάτω:
  • Βρισκόμαστε στην Ελλάδα. (Είμαστε λίγοι)
  • Το θέμα της Python καλύπτεται και σε άλλα forum, εδώ στην Ελλάδα.
  • Το θέμα της Python καλύπτεται και σε forum, στο εξωτερικό.
  • Υπάρχει πληθώρα τεκμηρίωσης για τη γλώσσα.

Επίσης, να μην ξεχνάμε, ότι η όλη προσπάθεια βασίζεται σε εθελοντική συμμετοχή και, δεν χρειάζεται κάποιος να δημοσιεύσει - ρωτήσει κάτι, απ' τη στιγμή που η λύση βρίσκεται ήδη εδώ.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2575

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Muttley Black έγραψε:
Ένα μεγάλο μπράβο για τον οδηγό! Δεν καταλαβαίνω λέξη, λόγο του ότι τώρα θέλω να ξεκινήσω με προγραμματισμό γενικότερα! Στην ουσία θα έλεγα ότι ο προγραμματισμός είναι για εμένα "ευσεβής πόθος"!

Θέλω να ξεκινήσω πρώτα μελετώντας την "bash" (νέος & στο Linux περιβάλλον).

Αλλά ασχέτως με το αν δεν είμαι σε θέση να κατανοήσω τον οδηγό σου, δεν σημαίνει ότι δεν σου αξίζουν συγχαρητήρια! Αργά ή γρήγορα θα τον χρειαστώ.

Μακάρι το σίτε να γίνει λίγο πιο ενεργό... Έχω την εντύπωση ότι το κρατάει ο Kamar και 1-2 ακόμη παιδιά.

Σκεπτόμουν να κάνω και σειρά από βίντεο για την python αλλά το μετάνιωσα.
Δεν έχω την ικανότητα να μιλάω όπως οι youtubers, ακούγομαι πολύ γελοία. :P
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2615

  • Tassos
  • Το Άβαταρ του/της Tassos
  • Αποσυνδεμένος
  • pyt___
  • g-lts.info
  • Δημοσιεύσεις: 48
  • Ληφθείσες Ευχαριστίες 2
Γίνεται κάποιος να είναι και server και πελάτης;
Δηλαδή εγώ το πάω σε δημιουργία p2p σύνδεσης... ή αλλιώς ενός chat, like msn :P
Ομάδα Ελληνικής - Μακροχρόνιας υποστήριξη.

Greek - Long Term Support Team.

Επισκεφθείτε μας εδώ : g-lts.info
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2616

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 382
  • Ληφθείσες Ευχαριστίες 80
Εννοείς αν μπορεί να τρέξει server - client στον ίδιο Η/Υ.
Και βέβαια γίνεται.
Γράφω σε Python 3
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2617

  • Tassos
  • Το Άβαταρ του/της Tassos
  • Αποσυνδεμένος
  • pyt___
  • g-lts.info
  • Δημοσιεύσεις: 48
  • Ληφθείσες Ευχαριστίες 2
Εννοώ, αν γίνεται να κάνω ένα πρόγραμμα όπου να συνδέετε με ένα άλλο πρόγραμμα παρόμοια κατασκευασμένο μέσο δικτύου ( μάλλον όπως φαίνεται μέσο socket ) και να μπορεί να στέλνει σε εκείνο ένα μήνυμα να το βλέπει ο άλλος και να του απαντά. Δηλαδή ένα πρόγραμμα όπως το παλιό msn ή γενικά ένα chat programm όπου δύο χρήστες χρησιμοποιώντας το να μπορούν να στέλνουν άμεσα μηνύματα ο ένας στον άλλο.
Ομάδα Ελληνικής - Μακροχρόνιας υποστήριξη.

Greek - Long Term Support Team.

Επισκεφθείτε μας εδώ : g-lts.info
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2618

  • kamar
  • Το Άβαταρ του/της kamar
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 382
  • Ληφθείσες Ευχαριστίες 80
Απ' τη στιγμή που μπορείς να στείλεις δεδομένα μέσω δικτύου μια εφαρμογή chat είναι εφικτό να δημιουργηθεί.
Γράφω σε Python 3
Τελευταία διόρθωση: 2 Χρόνια 9 Μήνες πριν από kamar. Αιτία: Προσθήκη κειμένου
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 9 Μήνες πριν #2619

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 674
  • Ληφθείσες Ευχαριστίες 108
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 8 Μήνες πριν #2673

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Tassos έγραψε:
Εννοώ, αν γίνεται να κάνω ένα πρόγραμμα όπου να συνδέετε με ένα άλλο πρόγραμμα παρόμοια κατασκευασμένο μέσο δικτύου ( μάλλον όπως φαίνεται μέσο socket ) και να μπορεί να στέλνει σε εκείνο ένα μήνυμα να το βλέπει ο άλλος και να του απαντά. Δηλαδή ένα πρόγραμμα όπως το παλιό msn ή γενικά ένα chat programm όπου δύο χρήστες χρησιμοποιώντας το να μπορούν να στέλνουν άμεσα μηνύματα ο ένας στον άλλο.

Ναι γίνετε.Θα πρέπει όμως να ξέρεις ένα κολπάκι για να στέλνεις
συμβολοσειρές μέσω socket με "ασφάλεια".Έχω φτιάξει ένα δεύτερο
tutorial που δείχνω πως γίνεται αυτό. Άμα θέλεις μπορώ να φτιάξω και ένα tutorial
για το πως λειτουργεί ένα chatbox αλλά δεν θα ήταν ποιο
καλύτερα να το σκεφτείς μόνος σου; Δεν χρειάζεται να έχεις
τρομερές γνώσεις στα sockets αυτά που έχω δείξει μέχρι τώρα
(μαζί με το δεύτερο tutorial) αρκούν.Απλά πρέπει να γνωρίζεις
και κάτι ακόμα, πως να κάνεις multiprocessing προγράμματα.
Γενικά στα περισσότερα προγράμματα που θα φτιάχνεις με sockets θα πρέπει να είναι multiprocessing προγράμματα.Η python
έχει ένα module το οποίο ονομάζετε treading το οποίο
σε επιτρέπει να το κάνεις αυτό (Νάνε καλά τα παιδιά από εδώ
γιατί αυτοί μου το έμαθαν :) ).Τέλος πάντων συνοψίζοντας
αν ξέρεις multiprocessing και sockets στην python τότε
θα σου είναι αρκετά εύκολο να σκεφτείς πως να το κάνεις διαφορετικά πρέπει να μάθεις και τα δύο αυτά modules.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 2 Χρόνια 8 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 2 Μήνες πριν #3084

  • Tassos
  • Το Άβαταρ του/της Tassos
  • Αποσυνδεμένος
  • pyt___
  • g-lts.info
  • Δημοσιεύσεις: 48
  • Ληφθείσες Ευχαριστίες 2
Έχω θέμα με την απομακρυσμένη σύνδεση.. και δε ξέρω γιατί.

Server δείγμα κώδικα :
host = ''
port = 8888
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
sock.bind( (host,port) )
 
sock.listen(1)
 
.....


Client δείγμα κώδικα :
host = '145.122.156.83'
port = 9993
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect( (host,port) )
.....

Αν για host και στα δύο έχω το localhost :
host = ""
ο κώδικας μου δουλεύει μια χαρά.

Άλλαξα το host στον client μόνο και του έβαλα απευθείας την wan ip μου, όπως δείχνω δειγματικά παραπάνω.., έπειτα συνδέθηκα απομακρυσμένα από κάποια άλλο pc εκτός του τοπικού μου δικτύου και επιχείρησα να τρέξω από εκεί τον client.. αλλά δε συνδεόταν ποτέ..
Γιατί;

Άνοιξα και την πόρτα στο modem, αλλά και πάλι τίποτα.. :(

Μήπως πρέπει να αλλάξω και κάτι στον κώδικα του host ;

Μπορείτε να υποθέσετε κάτι;
Ομάδα Ελληνικής - Μακροχρόνιας υποστήριξη.

Greek - Long Term Support Team.

Επισκεφθείτε μας εδώ : g-lts.info
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Οδηγός: Sockets στην python. 2 Χρόνια 2 Μήνες πριν #3085

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Βάλε απευθείας την τοπική ip σου μην το αφήνεις empty string.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 2 Χρόνια 2 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Tassos

Οδηγός: Sockets στην python. 2 Χρόνια 2 Μήνες πριν #3086

  • babaliaris1
  • Το Άβαταρ του/της babaliaris1
  • Αποσυνδεμένος
  • python
  • Δημοσιεύσεις: 395
  • Ληφθείσες Ευχαριστίες 59
Γράψε ipconfig στο cmd και δες τον ipv4 εκεί που λέει local area network. Γιατί πολλές φορές
άμα έχεις κάνει εγκατάσταση προγράμματα που σε κάνουν εγκατάσταση network connections(Όπως hamachi), τότε όταν αφήνεις emptry string τον ip στην python μπορεί να διαλέξει κάποιον άλλον.

Άμα δεν συνδέεσαι στο internet με ethernet αλλά μέσω wifi, τότε δεν θα ψάξεις για το local area network αλλά για ethernet wireless network adapter ή κάτι τέτοιο.
Η Python για μένα είναι η
καλύτερη γλώσσα προγραμματισμού!
Τελευταία διόρθωση: 2 Χρόνια 2 Μήνες πριν από babaliaris1.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": Tassos
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.368 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου