papalive Δημοσ. 8 Απριλίου 2010 Δημοσ. 8 Απριλίου 2010 Μπορει καποιος να μου πει για ποιο λόγο "χτυπαει" στα #include <sys/socket.h> #include <netinet/in.h> #include <unistd.h> δουλεύω στα Vista αλλά θα πρεπει αναγκαστικά να βάλω τα ubuntu ? και στα ubuntu μπορω να χρησιμοποιησω κάποιο περιβάλλον ανάπτυξης ωστε να εχω GUI ή ολα απο την κονσόλα και μόνο? o Embarcadero Rad Studio 2010 μπορει να χρησιμοποιηθεί στα ubuntu?
javavall Δημοσ. 8 Απριλίου 2010 Δημοσ. 8 Απριλίου 2010 Μπορει καποιος να μου πει για ποιο λόγο "χτυπαει" στα Είναι Unix/Linux βιβλιοθήκες. δουλεύω στα Vista αλλά θα πρεπει αναγκαστικά να βάλω τα ubuntu ? Μπορείς να χρησιμοποιήσεις Vmware ή Virtual box για να μην εγκαταστήσεις νέο λειτουργικό. o Embarcadero Rad Studio 2010 μπορει να χρησιμοποιηθεί στα ubuntu? Embarcadero has announced that Mac and Linux cross-targeting support is under development. That means applications built in RAD Studio 2010 will have a migration path with Mac and Linux supported products in the future. The investments you make in RAD Studio 2010 development today will continue to deliver dividends in the future.
papalive Δημοσ. 8 Απριλίου 2010 Μέλος Δημοσ. 8 Απριλίου 2010 Είναι Unix/Linux βιβλιοθήκες. Μπορείς να χρησιμοποιήσεις Vmware ή Virtual box για να μην εγκαταστήσεις νέο λειτουργικό. thanks !!!!!!!!!
C6WGMN Δημοσ. 8 Απριλίου 2010 Δημοσ. 8 Απριλίου 2010 thanks!!!!!!!!! Καλύτερα να χρησιμοποιήσεις τις ανάλογες συναρτήσεις που περιέχοντε στο winapi της microsoft.
papalive Δημοσ. 8 Απριλίου 2010 Μέλος Δημοσ. 8 Απριλίου 2010 Καλύτερα να χρησιμοποιήσεις τις ανάλογες συναρτήσεις που περιέχοντε στο winapi της microsoft. Προσπαθω να δουλεψω με τις συναρτησεις της microsoft αλλά δες τον κωδικα και αν ξερεις δωσε μια λύση: 1) Ο client συνδεεται κανονικά με τον server μεσω sockets 2) Aπο την στιγμή που θα δεχτει ο server το socket του client πρεπει να δημιουργηθεί ενα thread για να χειριστεί τον client. 3) Χρησιμοποιώ την CreateThread (...) http://msdn.microsoft.com/en-us/library/ms682516%28v=VS.85%29.aspx για να δημιουργήσω νέο νήμα. Επειδή ομως εχω μια κλάση για τον server δεν ξέρω πως πρέπει να δηλώσω την συνάρτηση στην οποια θα χειρίζομαι το thread.Πρεπει να την δηλώσω σαν μεθοδο στην κλάση ή να την εχω "ξεκάρφωτη" σε ενα άλλο Unit.h ? void CreateThrFunction{ hThreadArray = CreateThread( NULL, // default security attributes 0, // use default stack size MyThreadFunction, // thread function name pDataArray, // argument to thread function 0, // use default creation flags &dwThreadIdArray); // returns the thread identifier } DWORD WINAPI MyThreadFunction( LPVOID lpParam ) { ....... } Το πρόβλημα εντοπίζεται στην MyThreadFunction καθώς καλείται απο την CreateThread αλλά δεν ξερω αν πρέπει να οριστεί ως μέθοδος της κλάσης του client.
C6WGMN Δημοσ. 9 Απριλίου 2010 Δημοσ. 9 Απριλίου 2010 2) Aπο την στιγμή που θα δεχτει ο server το socket του client πρεπει να δημιουργηθεί ενα thread για να χειριστεί τον client. Όχι βέβαια! Γιατί δεν αγοράζεις ένα βιβλίο για networking αντί να βαδίζεις στα τυφλά?
papalive Δημοσ. 10 Απριλίου 2010 Μέλος Δημοσ. 10 Απριλίου 2010 Όχι βέβαια! Γιατί δεν αγοράζεις ένα βιβλίο για networking αντί να βαδίζεις στα τυφλά? λογαριασμο θα σου δωσω?
Evgenios1 Δημοσ. 10 Απριλίου 2010 Δημοσ. 10 Απριλίου 2010 λογαριασμο θα σου δωσω? Εαν δυσκολευεσαι να καταλαβεις οτι τα threads τα βαζεις εκει που σου κολλαει το mian thread, καλο ειναι να ακολουθησεις την συμβουλη του παραπανου. ΥΓ: Windows = event based OS.
papalive Δημοσ. 10 Απριλίου 2010 Μέλος Δημοσ. 10 Απριλίου 2010 Ευχαριστω για τις απαντησεις βρηκα την λυση!!!!
C6WGMN Δημοσ. 10 Απριλίου 2010 Δημοσ. 10 Απριλίου 2010 λογαριασμο θα σου δωσω? Βλάκα!!! Δεν γίνεται να μάθεις χωρίς βιβλίο. Όλα αυτά εγώ τα έχω διαβάσει στην πλήρη τους ανάλυση σε βιβλία όπως unix network programming http://www.kohala.com/start/unpv12e.html και σου επιβεβαιώνω ότι είναι αδύνατο να τα μάθεις αν δεν διαβάσεις από βιβλίο (εκτός αν κάτσεις να διαβάσεις rfc's αλλά δεν νομίζω ότι είσαι τέτοιος). Υπάρχει μπόλικη θεωρία που πρέπει να καταλάβεις πριν γράψεις τέτοια προγράμματα. Τώρα θα μου πεις "αφού τα ξέρεις γιατί δεν μου τα λες?", ναι όντως θα μπορούσα να χάσω μισή ώρα από τον χρόνο μου για να στα πω έτσι όπως είναι αλλά εσύ δεν θα έχεις κερδίσει τίποτα και εγώ θα έχω χάσει τον χρόνο μου "δουλεύοντας", δηλαδή ξεθάβοντας γνώσεις. Το βιβλίο είναι για unix περιβάλλον αλλά δεν θα βρεις καλύτερο για networking, του οποίου η θεωρία είναι η ίδια ανεξάρτητα από το λειτουργικό. Τέλος, ένα λινκ που θα σε κατατοπίσει στα σχετικά βουντού της Microsoft http://tangentsoft.net/wskfaq/articles/io-strategies.html
PCharon Δημοσ. 10 Απριλίου 2010 Δημοσ. 10 Απριλίου 2010 λογαριασμο θα σου δωσω? Το κρατάμε για μελλοντική χρήση αυτό. Θα το τρολάρω σε κάθε νέο θέμα που θα ανοίγεις ζητώντας βοήθεια για τη δουλειά σου. (τελικά κάτι ήξεραν τα παιδιά που φώναζαν στα προηγούμενα νήματα )
Directx Δημοσ. 10 Απριλίου 2010 Δημοσ. 10 Απριλίου 2010 [..]o Embarcadero Rad Studio 2010 μπορει να χρησιμοποιηθεί στα ubuntu?[..] Από την στιγμή που εργάζεσαι με το RAD Studio (είτε σε καθαρά Windows ή μέσο εξομοίωσης σε κάποιο άλλο OS) θα μπορούσες να εκμεταλλευθείς τα component που σου προσφέρει για network programming το RAD Studio (βλ. Indy ή και Internet Components στο Tool Palette) ώστε να μην μπλέξεις άμεσα με Socket programming. Βέβαια να έχεις υπόψη σου ότι και με αυτά χρειάζεται υπομονή και διάθεση για πολύ πειραματισμό (όπως και η ανάγνωση κάποιου καλού Tutorial για τα Indy ή του ομώνυμου βιβλίου που κυκλοφορεί ). Αν θες κάτι πιο εύκολο, ψηφίζω υπέρ .NET σε αυτόν τον τομέα. Τέλος όσον αφορά την δημιουργεία, διαχείρηση threads προτείνεται (από τους κατασκευαστές) η χρήση των ειδικών εντολών (βλ. _beginthread, _endthread κ.α.) που προσφέρει το RAD Studio αντί απευθείας κλήσης των ανάλογων Thread functions του Windows API καθώς σε διαφορετική περίπτωση μπορεί να παρουσιαστούν προβλήματα κατά την εκτέλεση του προγράμματος σου. Καλή τύχη. Υ.Γ. Αν θες να κάνεις σχετικά τετριμμένα δικτυακά πράγματα (πχ. κατέβασμα αρχείων, χρήση FTP, ανάγνωση remote αρχείων κτλ) με απλό τρόπο, ρίξε μια ματιά στην βιβλιοθήκη WinINet του Windows API. Εμένα σε Native προγράμματα όποτε την χρειάστηκα με εξυπηρέτησε δίχως πολλά - πολλά
papalive Δημοσ. 10 Απριλίου 2010 Μέλος Δημοσ. 10 Απριλίου 2010 ΧΑΧΑΧΑΧΑ οκ παιδια χαλαρωστε!!!! πλάκα εκανα!!! Δεν εχω σκοπό να χρησιμοποιήσω ενα ετοιμο component γιατι θελω να δουλέψω και να κατανοησω τα sockets και τα threads. Για την δημιουργία του thread χρησιμοποιω την createthread αλλά τι θα πρέπει να περνάω ως παραμετρο στην ρουτίνα του thread ( __in_opt LPVOID lpParameter ) ??? http://msdn.microsoft.com/en-us/library/ms682453%28VS.85%29.aspx επίσης ποιες αλλες συναρτήσεις πρέπει να χρησιμοποιησω για μια απλή εφαρμογή?
Directx Δημοσ. 10 Απριλίου 2010 Δημοσ. 10 Απριλίου 2010 [..]Για την δημιουργία του thread χρησιμοποιω την createthread αλλά τι θα πρέπει να περνάω ως παραμετρο στην ρουτίνα του thread ( __in_opt LPVOID lpParameter ) ???[..] Ότι θεωρείς χρήσιμο για το Thread σου, αν τίποτε τότε NULL. επίσης ποιες αλλες συναρτήσεις πρέπει να χρησιμοποιησω για μια απλή εφαρμογή? Εξαρτάται τι θες να κάνεις. Πακέτο με τα Threads πάνε και οι ρουτίνες συγχρονισμού οπότε κοίταξε και εκεί διότι αργά ή γρήγορα θα σου χρειαστούν μερικές από αυτές (πχ. WaitForSingleObject κτλ).
papalive Δημοσ. 10 Απριλίου 2010 Μέλος Δημοσ. 10 Απριλίου 2010 Ότι θεωρείς χρήσιμο για το Thread σου, αν τίποτε τότε NULL. Εξαρτάται τι θες να κάνεις. Πακέτο με τα Threads πάνε και οι ρουτίνες συγχρονισμού οπότε κοίταξε και εκεί διότι αργά ή γρήγορα θα σου χρειαστούν μερικές από αυτές (πχ. WaitForSingleObject κτλ). απλα το thread θελω να εξυπηρετει ενα client.Πως μπορω να το χρησιμοποιησω και ποιες παραμετρους πρεπει να περάσω στην ρουτινα του thread για αυτο το σκοπό?
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.