Jump to content



Video Mail σε C++


glompos21

Recommended Posts

Έχω μια εργασία και η ομάδα μου πρέπει να φταίξει μια εφαρμογή client/server video mail. Για το record+playback χρησιμοποιούμε το gstreamer. Εγώ έχω αναλάβει το κομμάτι του communication και το θέμα είναι ότι έχω βρει κάποια βιβλία για socket αλλά δεν έχω βρει κάποιο βιβλίο ή tutorial στο net για το πώς να μεταβιβάζω εντολές από τον client στον server.

Μήπως μπορείτε να μου προτείνετε κάποιο βιβλίο ή tutorial ??

Link to comment
Share on other sites

Από τα καλύτερα tuts που έχω δει για C/C++ για unix/win32 και ειδικά όσων αφορά tcp/udp sockets, clients, servers είναι στο http://www.tenouk.com...

Για περισσότερα δες εδώ...: http://www.tenouk.com/cnwinsock2tutorials.html

Για την μεταφορά του video θα χρησιμοποιήσεις udp, λόγο ταχύτητας καθώς το tcp είναι πολύ αργό σε συνθήκες άλλες εκτός τοπικού δικτύου...

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

Οπότε μπορείς να κάνεις bind ένα udp socket στην πόρτα 10001 στην οποία στέλνεις ή λαμβάνεις video και ανοίγεις και ένα tcp socket στην 10002 για να στέλνεις εντολές μεταξύ του client και του server, έτσι εξασφαλίζεις ότι οι εντολές σου φτάνουν σίγουρα σωστά... από το video και να χάσεις μερικά frames δεν σε πειράζει...

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

[Protocol Version-1Byte][iD-1Byte][Packet Length-2Bytes][Header-1Byte][command-2Byte][command data-4Byte]

με τον τρόπο αυτό (ή κάποιο παρόμοιο) θα γλυτώσεις πολύ χρόνο μελλοντικά και θα έχεις καλύτερο έλεγχο ροής και debugging...

Link to comment
Share on other sites

  • 4 weeks later...

Κριμα κριμα παιδια. Μην το βάζετε κάτω. Δοκιμάστε να το παλέψετε με το PyQt αντί για στεγνή C++. Θα σας λύσει τα χέρια και θα ειναι και πολυπλατφορμικό.

Απο κάτι τετοιες ιδέες βγαίνουν καθε χρονο μαργαριτάρια στοο SummerOfCode. Εγω ήμουν τυχερός και βρήκα mentor μέλος της ομάδας που δουλεύει στα applets widgets του KDE 4x.

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

Καλή τύχη όπως και να χει.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

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

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.