Jump to content

Video Mail σε C++


glompos21
 Share

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.