想問下php的socket的工作流程是什麼?

新人一枚問一個問題 如果要用php做一個小型聯機對戰網頁遊戲 遊戲演算法邏輯什麼的都沒問題了 關鍵數據的同步讀取不太清楚怎麼做 查了下網上說是要用socket有人能告訴我socket的具體工作流程是什麼嗎,從沒接觸過這個 具體那些什麼埠變數怎麼設置……先謝謝了


如果你想學習PHP寫socket,可以看workerman,比較簡單易懂。
如果想要搞高性能的Server,用swoole吧。node.js這種都是小兒科。swoole是多線程EventLoop,多進程Worker,很強大。

我說Node.js是小兒科還有人跑來人身攻擊我。都懶得跟這幫人辯了,沒見過真正的重量級網路通信框架,不要跑跟來我說話。
——————————————————————————
大爺,qnmb.
對此人的回應:不服來辯,何必罵人呢。對事不對人,連這點素質都沒有還上知乎。比如人家戴永說swoole就是吊絲,四不像,我也不能跑去罵他對吧。他有他的道理。

感謝 @知乎運營團隊 幫助刪除了他的人身攻擊言論。


php 也是可以得
swoole
@韓天峰


或者看看 workerman


首先呢,推薦用nodejs做,為啥呢,因為基於網頁的遊戲,用socket的話,那如果不是flash,就必須要用到html5提供的websocket。這樣的話,前端使用的js庫就要封裝websocket相關的操作,後端可以用php,但最好用nodejs,為什麼這麼說呢?這就要聊到很多,例如線程模型等等~~

如果你單純的想知道socket細節的話,其實各個語言下都很相似,但可能有便攜的第三方類庫封裝,像nodejs就有大名鼎鼎的websocket庫~~具體要看你選用那個庫了~

如果是純socket細節的話,推薦看一下unix網路編程這本書,其中對socket講的比較透徹~~


有人說node.js小兒科,我笑了
有人說swoole重量級,豬都笑了
一個做網站的語言偏要拿來搞非同步,當遇到循環里waterfall結構的非同步時,全世界都笑了


swoole 說實話 其實最後就是一個四不像。。。要脫離吊絲 但是怎麼擺脫最終還是個吊絲。。。


我是 自學php網 的站長,我想做一個聊天室系統,不知道應該具備哪些硬體 軟體實施!


推薦閱讀:

Socket是一個好的設計嗎?
有沒有哪些高效的c++ socket框架?
Socket建立連接到底發生了什麼?
怎麼理解TCP是面向連接的,HTTP基於TCP卻是無連接的?
服務端把客戶端幾次發的數據一起接受了,是怎麼回事?socket,Tcp協議

TAG:PHP | Socket | 工作流程 |