最近做一個led的案子,我們直接控制led顯示,是基于TCP協議的,因為有好多個,我們是服務端,led是客戶端,每三十秒發送一次心跳包,如果五次沒有回復就會重新發起連接,但是有一個問題,,led上面顯示的內容不是我們控制的,是給別的部門傳過來,現在想法是我們寫個webserveice讓他們呼叫,然后受到了資料我轉發給led,但是就是不知道webserveice里面可以一直和led通信嗎?怎么實作?
uj5u.com熱心網友回復:
IIS7及以后版本是支持net.tcp的,但是,暫時不知道怎么去實作你的需求我建議寫成C/S的,而不是webserveice,這樣比較常規
uj5u.com熱心網友回復:
webservice不太好搞.. 這種就用winservice就行.啟個tcpserver 就OK了.
uj5u.com熱心網友回復:
請打開思路。他做他的,你做你的。沒必要糾結技術,限定技術。
如果說,你的webserveice把東西寫到一個文本里了,你會不會監控這個文本?
如果說,你的webserveice把東西寫道資料庫了,你會不會監控這個資料庫
如果說,你的webserveice發到MQ你會不會訂閱到訊息
如果說,你的webserveice發到Redis,Etcd,cosorl你會不會監聽到那個節點變更通知
如果說,你的webserveice發到kafka里,你會不會收到訊息
如果說,你的webserveice通過netmq這里東西,使用akka.net,使用Orleans,你會不會對外傳遞訊息
如果說,你的webserveice把訊息寫到了windows 系統日志里,你會不會立刻收到這個日志訊息
---------------------------------------
有位水區老兄,說這是裝B。對,你裝了B,但簡單方便的解決了問題
請那位水區老兄,來個不裝B,但不給解決問題的方案出來
uj5u.com熱心網友回復:
實際上,你會發現。上面一堆東西,中間都有個中介(除了netmq,akka.net,Orleans,grpc是直接呼叫的)為啥要中介,因為你不需要單獨為他做什么。
分離,隔離。他們做他們的,你做你的。你現在可以立刻開發得到效果,他們也能立刻開發得到效果
比如最簡單的,一個設備對應一個編號,按編號給我寫一個txt文本,ok了
你現在就可以立刻開發,去某個目錄讀取123457.txt的文本,并下監聽,監聽檔案變更。這個20分搞定
對方一樣,去那個目錄修改123457.txt檔案的代碼20分鐘搞定
后面之所以有(Mq,Redis,Etcd,cosorl)是一樣的方式,唯一不一樣的是,去“某個目錄”也許不在本機。為了雙方統一操作,給一個公用的帶有訊息通知處理(順帶也把高并發,高可用問題解決)玩意去搞定
uj5u.com熱心網友回復:
當然是可以的,但是習慣上來說TCP的服務端一般不用web程式做。你web程式里作為TCP客戶端呼叫別人的TCP服務端,這個很正常。uj5u.com熱心網友回復:
可以,你可以弄個執行緒啟動一個socket服務,但是要防止IIS自動回收。uj5u.com熱心網友回復:
功夫熊貓已經給你說了,根本就不關聯,你掛你的WebService,他掉了之后資料就進你資料庫,你socket監控到資料庫有資料,推出去就是了。 有蛇皮關系?uj5u.com熱心網友回復:
我現在就是想關聯啊,當受到websevices的資料就馬上轉發給led,意思就是能不能做一api和資料轉發為一體的程式,當api或者是websevices接受到資料立馬轉發給led,,我不想做兩個程式,一個介面,一個轉發uj5u.com熱心網友回復:
應該是服務器轉發的功能一個程式,比如我們qq聊天。我們不是直接通信的,應該是服務器轉發的轉載請註明出處,本文鏈接:https://www.uj5u.com/net/80476.html
標籤:C#
上一篇:測驗
下一篇:彩票旋轉矩陣演算法優化
