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

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

Δημοσ.

Γεια

 

Ασχολουμε με ενα προτζεκτ τωρα στο οποιο θα χρησιμοποιησω websockets της HTML5. Αναπτυσσω σε windows7 και για websockets server εχω node.js version 0.10.12.

 

Με τα websockets θελω να αντικαταστησω τα xmlHttpRequests. Για αρχη θελω να τα χρησιμοποιω για να κανω query στη ΒΔ και να εμφανιζω αποτελεσματα στον client. Πιο μετα θελω να τα χρησιμοποιησω για uploading εικονων μαζι με το drag'n'drop API της HTML5.

 

Δυσκολευομαι παρα πολυ ειδικα σε οτι αφορα server side. Το ψαχνω εδω και ενα μηνα και δεν εχω καταφερει σχεδον τιποτα, περα απο το να στησω node.js και να δοκιμασω καποια hello world παραδειγματα. Εχω κυριολεκτικα απελπιστει. Δεν μπορω καν να εγκαταστησω σωστα το forever module και αυτα που εχω να κανω μετα ειναι πολυ πιο δυσκολα.

 

Οποιος εχεις ορεξη και θελει να βοηθησει ή να δει κωδικα ή να στελει Links κτλ, ας μου στειλει προσωικο μηνυμα. Δεν ποσταρω κατι συγκεκριμενο εδω, γιατι εχω καμια 10αρια προβληματα μαζεμενα.

 

PS : Ακομα καλυτερα οποιoς ξερει καποια εναλλακτικη για να αναπτυσεις ευκολα websockets, χωρις τον πανικο του node, εστω για server side....

 

Ευχαριστώ πολύ

Δημοσ.

Γιατί δεν πας σε $.ajax με το όμορφο Jquery; Νομίζω πρέπει να σε καλύπτει απολύτως και θα χρησιμοποιήσεις και php αντί για όλα αυτά τα πράματα.

Δημοσ.

Φίλε slevinkelevra σύντομα θα ξεκινήσω και εγώ ακριβώς το ίδιο, websockets με χρήση nodejs για τη διαχείριση. Αν τυχόν έχεις κάποιο νέο update/βοήθεια (και εγώ αν έχω) ας τα ποστάρουμε εδώ, για να υπάρχει μια γενική βοήθεια.

 

@SpirosLouis , μια χαρά λύση είναι το κλασσικό $.ajax της jquery, αλλά αν ψάχνεις τη βέλτιστη λύση με το καλύτερο performance από άποψη χρόνου, τα websockets είναι πολύ πιο αποδοτικά, ειδικά όταν μιλάμε για πολλές κλήσεις συνέχεια και πάρα πολλά data (π.χ. real time ανανέωση ενός chart με νέα data από ΒΔ).

Δημοσ.

@SpirosLouis Κοιτα, πολυ θα το ηθελα, αλλα ειναι μεσα στις απαιτησεις του προτζεκτ να χρησιμοποιησω websockets (=κάλτσες διαδικτυου που λεει κ ενας φιλος). Αξιζουν να τα τσεκαρεις, περα απ αυτα που ειπε ο thanasis00, εχω να προσθεσω οτι ειναι 40% πιο γρηγορα απο τα xmlHttpRequests γιατι κουβαλανε λιγοτερη πληροφορια. Ειναι δυσκολο γιατι ειναι νεα τεχνολογια και το websockets API και ο nodejs σερβερ. Ο σερβερ φαντασου εχει ακομα εκδοση 0,10,12, ουτε καν 1,x. Ουσιαστικα ο συνδιασμος node+websockets απαιτει να φτιαξεις σερβερ απο το μηδεν με το χερι!!!!

 

@thanasis00 και ολοι οι αλλοι

τι εχω βρει μεχρι τωρα...

 

-Καταρχας, για τα βασικα, τσεκαρετε παλιοτερο ποστ μου Link.png Site: http://www.insomnia.gr/topic/489217-websockets-και-apache-server/">εδω

Προσοχη, το ποστ αυτο εχει ενα λαθος, ο kaazing gateway δεν εχει τις δυνατοτητες του node, ειναι πιο πολυ για fallbacking. Ξεχαστε kaazing και πεστε με τα μουτρα σε node.

 

-Πριν εγκαταστησετε node κοιταξτε Link.png Site: https://github.com/joyent/node/wiki/Installation">εδω για Prerequisites. Εχω windows 7 και εγκατασταθηκε μια χαρα μονο με make και python 2.7. Αλλα και παλι, για μενα λεω, στο δικο σας μπορει να θελει και τα υπολοιπα...

 

-Ευτυχως ο Node εχει πλεον Link.png Site: http://nodejs.org/download/">msi installer

 

-Proxy μεταξυ apache και node Link.png Site: ">εδω , δουλεψε κατευθειαν

 

-Πως να τρεχει ενας σερβερ του node συνεχεια σαν windows service, οχι να τον "βαζετε μπροστα" με το χερι απο coomand line, κοιταξτε Link.png Site: http://stackoverflow.com/questions/17633262/running-a-server-file-on-node-js">εδω , την ερωτηση και την απαντηση μου (ο slevin ειμαι) σχετικα με το nssm, τα γραφω οσο πιο αναλυτικα μπορω. Εναλλακτικα μπορειτε να χρησιμοποιησετε μια απο τις λυσεις που δινει ο Venemo

 

-Δοκιμαστικος websocket Link.png Site: http://cjihrig.com/blog/websockets-in-node-js-0-8-6-for-windows-7/">server και Link.png Site: http://cjihrig.com/blog/creating-your-own-websocket-echo-client/">client

 

-Συνδεση node με postgreSQL Link.png Site: https://github.com/brianc/node-postgres/wiki/Example">εδω και Link.png Site: http://nodeexamples.com/2012/09/21/connecting-to-a-postgresql-database-from-node-js-using-the-pg-module/">εδω

 

-Διαφορα παραδειγματα http://howtonode.org/

 

-Chat με node + websockets http://martinsikora.com/nodejs-and-websocket-simple-chat-tutorial

 

Αυτα!

 

Τωρα θα μου πειτε, αν τα εχεις ολα αυτα, που κολλας? Ειπαμε, θελω να κανω query στη ΒΔ και να εμφανιζω αποτελεσματα στον client. Πιο μετα θελω να τα χρησιμοποιησω για uploading εικονων μαζι με το drag'n'drop API της HTML5. Ισως να πεταξω και καποιες multimedia gallery μεσω Node. Χαος.

Τεσπα, ελπιζω να βοηθησα. Περιμενω και τα δικα σας Link. Η αναπτυξη συνεχιζετε.

To those about to rock websocket...We salout you !...

Δημοσ.

@SpirosLouis Κοιτα, πολυ θα το ηθελα, αλλα ειναι μεσα στις απαιτησεις του προτζεκτ να χρησιμοποιησω websockets (=κάλτσες διαδικτυου που λεει κ ενας φιλος). Αξιζουν να τα τσεκαρεις, περα απ αυτα που ειπε ο thanasis00, εχω να προσθεσω οτι ειναι 40% πιο γρηγορα απο τα xmlHttpRequests γιατι κουβαλανε λιγοτερη πληροφορια. Ειναι δυσκολο γιατι ειναι νεα τεχνολογια και το websockets API και ο nodejs σερβερ. Ο σερβερ φαντασου εχει ακομα εκδοση 0,10,12, ουτε καν 1,x. Ουσιαστικα ο συνδιασμος node+websockets απαιτει να φτιαξεις σερβερ απο το μηδεν με το χερι!!!!

...

 

Η αλήθεια είναι ότι έχω μια αλλεργία προς το nodejs. javascript και γρηγοράδα δεν πάνε μαζί!(γνωστό αυτό αλλά κωφεύουν φαίνεται)

Δημοσ.

Η αλήθεια είναι ότι έχω μια αλλεργία προς το nodejs. javascript και γρηγοράδα δεν πάνε μαζί!(γνωστό αυτό αλλά κωφεύουν φαίνεται)

:huh:

Κανα link; (Να φανταστω το Node το εχεις μονο ακουστα, αλλιως δεν εξηγειται αυτο που γραφεις.)

Δημοσ.

Εχει ασχοληθει κανεις με το Link.png Site: https://npmjs.org/package/pg">pg module

του NodeJS? Προσπαθώ να φτιαξω prepared statements για queries, αλλα κολλαω στην συνταξη και δεν μου δουλευουν. Εχει κανεις κανα παραδειγμα/tutorial?

 

Μεχρι τωρα εχω αυτο....

var query = client.query(  "insert into controller(c_name) values($1)", [ja], function (err, result) {
    console.log(err);
	    console.log(result);
})

το οποιο αρνητε να δουλεψει

Δημοσ.

Και χάρηκα, οτι μου απαντησες για τα prepared statements.....

 

Κοιτα, η διαφορα της γκρινιας του οργισμενου geek στο βιντεο με την περιπτωση μου, ειναι οτι εγω χρησιμοποιω τον node αποκλειστικα σαν websocket server και οχι γενικοτερα σαν http.

Ναι, κανω το "λαθος" που λεει κ αυτος , οτι τρεχω εναν "παραδοσιακο" σερβερ (apache) μπροστα απο τον node. Και εχω στησει κ proxy προφανως.

Αλλα οτι αλλο δοκιμασα , πιστεψε με, μου εβγαλε τη ψυχη, πολυ περισσοτερο απ οτι ο Node. Επρεπε να εγκαταστησω καμια ντουζινα modules στον apache, για να υποστηριξει απλα python πχ. Και μετα βασισμενος σ αυτο ακομα καμια ντουζινα modules για να υποστηριξει websockets μεσω php , που στην ιδια τη σελιδα του module σου ελεγε οτι "ειναι ακομα σε αρχικο σταδιο αναπτυξης και μη το βαλεις σε παραγωγη γιατι θα σπασει το σαιτ" κτλ.

Χωρια που καποια Modules ηταν παλια κ δεν εβρισκα. Και δεν εχω και τρελη εμπειρια να σκαλιζω εκτελεσιμα και command lines σε ηδη στημενα προγραμματα.

 

Οτι αλλη λυση βρηκα (για websocket server) :

-tomcat : οι ιδιοι σημειωνουν στο σαιτ τους οτι το patch για websockets που εχουν "is not yet finilised". Χωρια που πρεπει να "μαθεις" πως λειτουργει ο tomcat, δεν πετας απλα τα αρχειακια σου σε ενα φακελο κ τελος. Node εχει αυτη την ευκολια. Ιδιος με tomcat και ο jetty που δεν εχει καν gui. Οποτε (για μενα τουλαχιστον, γτ για μενα σου λεω τοση ωρα) , τους απερριψα....

-wrench : βασισμενο σε php, οι ιδιοι αναφερουν στο σαιτ τους "little hope of scaling in production"

-ratchet : επισης βασισμενο σε php, δεν υποστηριζει μεταφορα binary data μεσω websockets. Τουλαχιστον ο node μπορει.

 

Δεν υπερασπιζομαι τον node, ουτε διαφημιζω. Απλα σου εξηγω γιατι τον επελεξα τελικα για τη συγκεκριμενη φαση. Τεχνικα δεν ειμαι τοσο καταρτισμενος να σου μιλησω για ταχυτητες της JS κτλ. Το μονο που ξερω ειναι οτι συνδιαζοντας node και websockets εισαι πολυ πιο γρηγορος στη μεταφορα δεδομενων γιατι ανοιγεις TCP καναλι και εχεις και λιγοτερο overhead.

 

 

Για να μη ξεχνιομαστε, καμια συμβουλη για τα prepared statements? Ακομα δεν εχω βγαλει ακρη...

Δημοσ.

Δοκίμασες ή είδες καθόλου το socket.io ? Το βρήκα απίστευτα εύκολο για να κάνεις server push. Το χρησιμοποίησα στο παρελθόν μαζί με το publish/subscribe της Redis για να κάνω notifications push.

Δημοσ.

Μπα, το socket.io δε μου κανει....Επισης, αν εχω καταλαβει καλα, το socket.io δεν ακολουθει την "παραδοσιακη" συνταξη των websockets (σε js) αλλα εχει μια δικια του.

 

Οπως και να χει, το προβλημα λυθηκε, ηταν γελιο και γω ηλιθιος. Με πατεντα. Συνδεομουν στη βαση με "λαθος" χρηστη που τα δικαιωματα του δεν περιλαμβαναν το insert στον πινακα controller. *facepalm*

Δημοσ.

Δε ξέρω αν προτρέχεις ή θες να επενδύσεις στο μέλλον αλλά αυτη τη στιγμη που μιλάμε κ όσο η javascript είναι single-threaded οι όποιες δυνατότητες του node δεν εκμεταλλεύονται σωστά. Γνωρίζω ότι τα websockets είναι ουσιαστικά ένα νέο πρωτόκολλο σα extension του http άλλωστε αν δεις τα headers που στέλνονται λένε στο handshake οτι γίνεται change protocol αλλά υπάρχει rfc, είναι standard; 

Δημοσ.

Μπα, το socket.io δε μου κανει....Επισης, αν εχω καταλαβει καλα, το socket.io δεν ακολουθει την "παραδοσιακη" συνταξη των websockets (σε js) αλλα εχει μια δικια του.

 

Δεν έχω βαθυά γνώση του socket.io, αλλά αυτό που ξέρω είναι ότι απλοποιεί τη χρήση των websockets και επιπλέον τα χρησιμοποιεί μόνο όπου χρειάζεται. Φυσικά σου δίνει τη δυνατότητα να παρακάμψεις το τρόπο λειτουργίας του, αλλά σκέψου ότι δε χρειάζεται να συμπεριλάβεις στο κώδικα σου όλες τις περιπτώσεις όπου δε μπορείς να χρησιμοποιήσεις websockets. Το socket.io φροντίζει επίσης και για το fallback και είναι αρκετά δοκιμασμένο σε production environments.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...