Προς το περιεχόμενο

Chat program σε vb 6


themizzz

Προτεινόμενες αναρτήσεις

Δημοσ.

Θα ηθελα να κανω ενα προγραμμα chat σε visual basic 6.Μπορει καποιος να με βοηθησει?Εχω βρει διαφορα tutorials αλλα σε ολα πρεπει να βαζεις την ip του server η του παραληπτη...Δεν θελω να γινεται αυτο...Επισης θα ηθελα να γινεται να μιλησω και απο μικρωφονο.... (δεν ειναι αναγκη το μικροφωνο...)

 

Ευχαριστω

Δημοσ.

Εννοείς IRC Client? Σαν το mIRC? Ή θες να φτιάξεις ένα πρόγραμμα που να μιλάς εσύ με κάποιους φίλους σου χωρίς να συνδέεσε σε κάποιο υπάρχον δίκτυο;

Δημοσ.

Θελω να μιλαω απλα με τους φιλους μου...Θα κανουν register και μετα login και μετα θα μιλαμε ειτε απο mic ειτε απο μηνυματα.Το register , το login και αυτα τα κατεχω , το πως θα κανω το chat δεν το κατεχω...

Δημοσ.

Εφόσον η εφαρμογή θα παίζει στο Internet, δεν γίνεται να μην χρειάζεσαι IP διευθύνσεις ώστε να ξέρει ο καθένας που θα πρέπει να συνδεθεί.

Κάποιος πρέπει να είναι ο server και οι άλλοι πρέπει να είναι οι clients. Θα πρέπει να γνωρίζουν όλοι την IP διεύθυνση του server και το TCP port όπου θα επιλέξεις να ακούει ο server και να συνδέονται εκεί.

Τώρα το chat δεν είναι και πολύ δύσκολο ... ότι γράφει ένας θα το παίρνει ο server και θα το στέλνει και στους υπόλοιπους. Να έχεις υπ' όψη όμως πως θα πρέπει να υλοποιήσεις ένα απλό πρωτόκολλο. Δεν αρκεί ότι παίρνεις από τον έναν να το στέλνεις τυφλά στους άλλους.

Για παράδειγμα αν κάποιος γράψει ένα μεγάλο μήνυμα, αυτό μπορεί να μην έρθει στον server ολόκληρο. Έτσι θα πρέπει για παράδειγμα στην αρχή και στο τέλος ενός μηνύματος να εισάγεις κάποιον control χαρακτήρα, ώστε να ξέρεις πότε τελειώνει η μετάδοση ενός μηνύματος.

Τώρα για μικρόφωνα που λες ... είναι αρκετά πολύπλοκο. Καταρχήν χρειάζεσαι έναν αλγόριθμο για encoding, π.χ. mp3. Μετά σίγουρα θα χρειαστείς αλγόριθμο για echo cancelation.

Ξεκίνα με το chat και βλέπεις.

 

btw όπως ανέφερε και ο φίλος πιο πάνω, για να ανοίξεις TCP /IP connections στην VB6 θα χρησιμοποιήσεις το Winsock Component που έχει.

Δημοσ.

Σωστα στα γραφει ο φιλος αλλα σιγουρα θα υπαρχουν ετιμα...

Θα σου προτεινα να πας σε μια αλλη εκδοση vb ποιο νέα...Διοτι δυστυχως-ευτυχως πλεον δουλευουν πιο πολυ με framework κτλ.Απλα στο λεω και για να ξερεις και πιο καινουργιες τεχνολογιες..

Δημοσ.

Το οτι θελω winshock ειναι αυτονοητο και το ξερω...αλλα το θεμα ειναι το πως θα το κωδικοποιησω...Πες οτι εχω εναν server , δεν μπορω να χρησιμοποιησω την IP του για το chat μου?

Δημοσ.
Το οτι θελω winshock ειναι αυτονοητο και το ξερω...αλλα το θεμα ειναι το πως θα το κωδικοποιησω...Πες οτι εχω εναν server , δεν μπορω να χρησιμοποιησω την IP του για το chat μου?

 

Αν εχεις εναν server X πρεπει να διβασεις για αυτον, για να φτιαξεις τον client. Πως αλλιος θα κανεις connect αν δε ξερεις τι περιμενει ο server?

Δημοσ.

Εννοεί υπολογιστή server φαντάζομαι, όχι πρόγραμμα.

 

Σ' αυτή την περίπτωση φτιάχνεις το server software και το client software, κάνεις το client να συνδέεται στο server (καλύτερα με hostname παρά με IP) και να λαμβάνει από εκεί τις διευθύνσεις αυτών με τους οποίους θέλει να κάνει chat ή, εναλλακτικά, τα στέλνει στο server κι αναλαμβάνει εκείνος να τα περάσει στους άλλους clients.

Δημοσ.

Απλά θα στέλνεις το κείμενο, δεν θέλει καμιά κωδικοποίηση ... εκτός από τα extra data που σου ανέφερα πιο πάνω ότι θα χρειαστείς. Το πιο απλό είναι όταν στέλνει ένας μήνυμα να στέλνει στον server το εξής :

message_length + message + char(0)

Δηλαδή έναν ακέραιο 4 byte στην αρχή που λέει πόσο μήκος έχει το string, μετά το string και μετά έναν ειδικό χαρακτήρα που να σηματοδοτεί το τέλος του μηνύματος (ίσως το τελευταίο να μην χρειάζεται)

Κοίτα εδώ

Δημοσ.

Αυτα που λεει ο απο πανω μου. (με τη προυποθεση οτι μιλαμε για greeklish)

Το πιο απλό είναι όταν στέλνει ένας μήνυμα να στέλνει στον server το εξής :

message_length + message + char(0) κλπ

Αυτα που λεει ο τεο

φτιάχνεις το server software και το client software κλπ..

+ Ο server πρεπει να "θυμαται" τους clients.

 

Υγ : αν ηξερα απο vb6 θα σου εγραφα ενα προγραμματακι... διστυχος δεν.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...