幾乎搞了一個工作日的時間,查找了很多的資料,學習,調試,最終終于把利用web socket方法,在node.js作為伺服器的情況下,實作了client端與server端的互動,沒辦法,學習的過程就是這樣,經曆過痛苦之後,才能永生~~
雖然web socket這項技術早已經出來了,國外大概在10年就有人去研究,國内的我看最早的大概是在11年(也許有更早的,我沒有看到相關資料罷了),而我呢,确是在這幾天因為工作的原因,才知道這麼個東西,才準備去學習一下。(要知道我學習java script才幾天的時間,就在我寫這篇文章的時候我還在學習什麼是json,oh, my god! 好吧,我之前是搞C++的)。
其實我不太想讓大家經曆一遍我的痛苦,是以我直接把大家可能遇到最原始的問題發出來。
如果你安裝好了node.js之後,并且按照網上大多數的講web socket技術的資料上寫的那樣,用js 将伺服器端和用戶端都寫好之後(這兩個我相信大家都應該比我更容易掌握,畢竟我才剛接觸js),實際上你就可以在指令行中直接運作node xxx.js程式就Ok 了,然後你用你的用戶端去連接配接這個伺服器位址,如果出現:TypeError: Object #<WriteStream> has no method 'flush', 直譯就是找不到flush 方法。大家發現process.stdou.flush();不難發現這是一條類似于列印語句的東西,是以//掉它,結果發現問題更讓人迷惑,最重要的是從來沒有成功連接配接過,是以也不知道成功之後是什麼樣子的。
這個問題的原因可能在于大家下的一個web socket第三方庫,也許你下載下傳的位址是:
大家下載下傳解壓之後,運作WebSocket-Node-master\test目錄下的echo-server.js,然後用自己寫的用戶端直接連http://localhost:8080 就行了,這個8080是echo-server.js檔案裡定義的。然後就能連上了,真是讓人興奮啊!
希望大家研究過web socket的人能一起多多交流,還有很多要和大家學習。
本文轉自 我不會抽煙 51CTO部落格,原文連結:http://blog.51cto.com/zhouhongyu1989/1290088,如需轉載請自行聯系原作者