官方提供thinkphp+gatewayworker獨(dú)立部署模式我已經(jīng)看過(guò)了,還查了很多資料。
現(xiàn)在服務(wù)端主動(dòng)向設(shè)備(自助洗車(chē)機(jī))下達(dá)指令是沒(méi)問(wèn)題的,但是設(shè)備接收到指令后需要有一個(gè)返回碼,服務(wù)端需要判斷返回碼才能進(jìn)行后續(xù)業(yè)務(wù)。那么問(wèn)題來(lái)了:
thinkphp是通過(guò)調(diào)用gatewayworker的API單向向設(shè)備發(fā)送消息的,設(shè)備接收到后就只會(huì)機(jī)械地回復(fù)給gatewayworker(而不是像websocket一樣自定義邏輯通過(guò)get/post發(fā)送給thinkphp),所以thinkphp就無(wú)法處理gatewayworker接收到的返回碼。
求walkor大神指教。我都弄了整整2天了…
謝謝walkor大神!終于解決了!哈哈~
對(duì)了,用gatewayworkerClient發(fā)送數(shù)據(jù),是不是必須得將start_gateway中的進(jìn)程數(shù)設(shè)為1才行?大于1不行嗎?
兄弟你這個(gè)curl怎么用,能貼一下demo嗎
gatewayworker中的onMessage方法中,調(diào)用自定義的一個(gè)方法,這個(gè)方法中,邏輯就是通過(guò) curl 去請(qǐng)求web端,也就是框架中的一個(gè)操作(action,post 設(shè)備 返回給server端的返回碼),網(wǎng)上curl的使用例子很多,可以查閱下,這樣web端就能收到這個(gè),不建議直接在 onMessage 中寫(xiě)邏輯,單獨(dú)另開(kāi)一個(gè)方法,盡量把耦合降到最低