聽說可以用WCF或WebService實作,
我的做法是是這樣的,用WCF,機器連接后,將管理機器的變數上傳服務器,多個臺電腦可以訪問這個變數,但是好像每次訪問服務,變數都重新實體化了
我想問下具體怎么實作,給個例子?或者用其他什么技術?
或者怎么實作,一個程式負責和機器的埠互動,別的程式呼叫這個程式?,具體怎么實作?
uj5u.com熱心網友回復:
你這個不就是TCP通訊 在機器上創建一個TCP服務器 其他電腦創建TCP客戶端連接這個服務器 制定通訊協議來進行某些操作uj5u.com熱心網友回復:
有多余了。不要被帶偏。很多人被XX園帶偏,我們只能盡量往回拽mq+rpc
或者kafka
也就是推向一個公共訊息總線。大家盡量隔離
uj5u.com熱心網友回復:
一個機器好像只能連接一個客戶端,
uj5u.com熱心網友回復:
別用變數來存盤比較好用資料庫/Redis來存盤資料
別人來訪問從里面取就好
uj5u.com熱心網友回復:
一個服務器可以有多個客戶端連入 如果你需要客戶端之間的通訊 只需要服務器做中轉就可以
uj5u.com熱心網友回復:
別用變數來存盤比較好
用資料庫/Redis來存盤資料
別人來訪問從里面取就好
我說的變數就是從資料庫獲取的物件
如果每次都從資料庫取資料,獲取連接機器的資訊,也實作不了多電腦連接?
uj5u.com熱心網友回復:
想想你自己的東西。這個就像一個現在的“自動購物機”百事可樂,奶茶-------------一堆東西放在那里,你看就看。(展示是展示,100個看的都是一個)
然后有人想賣,行啊----------你投幣進去,我給你丟出來(你想操作你就操作)
所以不是什么100個人連100個,連那么多干啥?你要操作才有操作,沒操作看的都是資料
uj5u.com熱心網友回復:
netcore +mvc 最簡單的其他的supersocket
不然自己寫個iocp也行
uj5u.com熱心網友回復:
netcore +mvc 最簡單的
其他的supersocket
不然自己寫個iocp也行
繼續往回拽,XX園的影響不小啊。
mvc考慮過網路情況沒,設備大多數情況是內網的,你web server去哪里訪問。
supersocket,iocp--------這個一樣,網路情況考慮沒用,同時別說XX園介紹的,你用沒用過,坑填平了么?
隔離,隔離------別總想著,A調B,B調A。
有rpc,有netty,有mq,有kafaka-----------別說那是java堆疊,誰告訴你java堆疊的net不能用?XX園天天喊core了,微服務了,sugring了(看看sugring自己用了多少java堆疊的?log4net,grpc,zookeper,conser,mq,微軟自己號稱典型微服務“最佳實作”用了多少java堆疊的東西)
uj5u.com熱心網友回復:
netcore +mvc 最簡單的
其他的supersocket
不然自己寫個iocp也行
繼續往回拽,XX園的影響不小啊。
mvc考慮過網路情況沒,設備大多數情況是內網的,你web server去哪里訪問。
supersocket,iocp--------這個一樣,網路情況考慮沒用,同時別說XX園介紹的,你用沒用過,坑填平了么?
隔離,隔離------別總想著,A調B,B調A。
有rpc,有netty,有mq,有kafaka-----------別說那是java堆疊,誰告訴你java堆疊的net不能用?XX園天天喊core了,微服務了,sugring了(看看sugring自己用了多少java堆疊的?log4net,grpc,zookeper,conser,mq,微軟自己號稱典型微服務“最佳實作”用了多少java堆疊的東西)
不好意思 mvc supersocket 我真用過 有問題嗎?除了高并發要特殊處理 他也沒說需要高并發啊
netty mq hprose 我也用過啊 有什么嗎?對了hprose有個bug的 原作者沒處理我這里也告訴你一下
我倒不知道你說的網路情況是啥?
uj5u.com熱心網友回復:
對啊,你都用過。那么好于不好,坑多不多你自己清楚,干嘛非給人往溝里帶uj5u.com熱心網友回復:
非高并發 無過于直接用mvc最簡單最快上手了從樓主字里行間說的 你覺得樓主基礎很高么
先從簡單的mvc入手知道rpc是個咋回事 簡單處理一下并發處理
才好理解其他雜七雜八的框架
uj5u.com熱心網友回復:
singalr也可以做訊息推送uj5u.com熱心網友回復:
用埠通信就一定是 tcp 或 udp 了,也就是用 sokect ,至于你需要用什么協議你自己定,還有就是因你自己的環境可以選擇wcf ,HttpLisener ,tcplisener 等方式都可以。也可以用 MQTT .
uj5u.com熱心網友回復:
你這個需求就是服務器讀取機器值 存入服務器, 然別的電腦通過服務器 讀出來吧。 如果我的理解的對讀取值存入快取。 其他的電腦通過服務器在快取里出取來。
誰用誰取就好了。 跟推送沒啥關系啊。
樓上的又推薦這個又推薦那個。 好像都沒明白你具體要做什么。
uj5u.com熱心網友回復:
你這個需求就是服務器讀取機器值 存入服務器, 然別的電腦通過服務器 讀出來吧。 如果我的理解的對
讀取值存入快取。 其他的電腦通過服務器在快取里出取來。
誰用誰取就好了。 跟推送沒啥關系啊。
樓上的又推薦這個又推薦那個。 好像都沒明白你具體要做什么。
需求就是,多臺電腦連接一臺機器實作同時通信,比如A電腦和B電腦可以同時控制一臺機器
uj5u.com熱心網友回復:
不就是一個gat set的問題么!一臺用set寫值存到服務器快取里,其他用GET往外取就行了,哪來那么多這通信那通信的問題,你每次實體化的原因是因為你在呼叫服務器的時候做實體化操作了!你把這個變數定義成靜態的,我看看他還每次都實體化不!uj5u.com熱心網友回復:
多臺電腦連接一臺機器實作同時通信用sokect連接來做,就好了!uj5u.com熱心網友回復:
好東西,謝謝uj5u.com熱心網友回復:
好東西,謝謝uj5u.com熱心網友回復:
屬于socket,wcf之類的編程問題這個需要你系統學習,而不是弄個變數
涉及到通訊協議,跨域訪問等等諸多問題
uj5u.com熱心網友回復:
因為沒有C幣了,不好意思uj5u.com熱心網友回復:
UDP 不就可以實作一對多嗎?
uj5u.com熱心網友回復:
聽說可以用WCF或WebService實作,
我的做法是是這樣的,用WCF,機器連接后,將管理機器的變數上傳服務器,多個臺電腦可以訪問這個變數,但是好像每次訪問服務,變數都重新實體化了
我想問下具體怎么實作,給個例子?或者用其他什么技術?
或者怎么實作,一個程式負責和機器的埠互動,別的程式呼叫這個程式?,具體怎么實作?
WCF每次通信都是創建新的物件。寫成靜態的就可以了。
uj5u.com熱心網友回復:
一個機器好像只能連接一個客戶端uj5u.com熱心網友回復:
你這個需求就是服務器讀取機器值 存入服務器, 然別的電腦通過服務器 讀出來吧。 如果我的理解的對
讀取值存入快取。 其他的電腦通過服務器在快取里出取來。
誰用誰取就好了。 跟推送沒啥關系啊。
樓上的又推薦這個又推薦那個。 好像都沒明白你具體要做什么。
需求就是,多臺電腦連接一臺機器實作同時通信,比如A電腦和B電腦可以同時控制一臺機器
別說AB了, 就是在來CD 也一樣。 跟設備通信的只有A, BCD都是連A。 A就是個服務器。
uj5u.com熱心網友回復:
我怎么看不懂了,個人覺得直接Socket就可以完成了呀。uj5u.com熱心網友回復:
我怎么看不懂了,個人覺得直接Socket就可以完成了呀。
同,用socket,http,感覺都行
uj5u.com熱心網友回復:
服務端限制了一個客戶端連接,還有辦法實作多電腦連接機器嗎uj5u.com熱心網友回復:
到現在居然還不明白,在給個例子,如果在不明白你專案沒救了電視機和遙控器
10個人看,20個人看,有區別么?
1個遙控器控制有問題么?
為啥非要想20個人20個遙控器?
對了,這就是你的問題,一個串口就一個串口,有問題么?你要看資料就看資料。
你想操作,也行。還是一個串口,發到一個串口,但得一個一個的來。
當然和電視機遙控器的關系一樣,多人操作會打架。你要看足球,你老婆要看小鮮肉,你兒子要看熊大……
一人按一下,到底聽誰的?打架把。
所以你要考慮的事情是,這種并發看資料沒問題,并發操作串口合理不合理
uj5u.com熱心網友回復:
如果不談操作,只談看資料。同樣的類比,電視臺直播。
一個記者,一臺轉播車,幾億人同時看。有問題么?
所以俺們告訴你,有mq,有kafaka,上面人說是推送,錯。這不是推送,這是轉播
同樣還是直播,你可以遠程控制記者的,比如“讓我們切到現場,遠程連線記者,請問xxx有觀眾提問yyyy,你怎么看”,對遠程是遠程,記者還是一個記者,沒變成幾億記者,所以告訴你是rpc遠程程序呼叫,當然因為網路環境問題(內外網映射,防火墻等等),外網不一定能直接rpc內網,所以建議方式還是kafaka,mq,指令佇列訂閱(直播也是一樣,幾億觀眾是通過短信平臺等等中間渠道,進過佇列排序,編導篩選在一條一條發給那一個記者滴)
uj5u.com熱心網友回復:
如果不談操作,只談看資料。
同樣的類比,電視臺直播。
一個記者,一臺轉播車,幾億人同時看。有問題么?
所以俺們告訴你,有mq,有kafaka,上面人說是推送,錯。這不是推送,這是轉播
同樣還是直播,你可以遠程控制記者的,比如“讓我們切到現場,遠程連線記者,請問xxx有觀眾提問yyyy,你怎么看”,對遠程是遠程,記者還是一個記者,沒變成幾億記者,所以告訴你是rpc遠程程序呼叫,當然因為網路環境問題(內外網映射,防火墻等等),外網不一定能直接rpc內網,所以建議方式還是kafaka,mq,指令佇列訂閱(直播也是一樣,幾億觀眾是通過短信平臺等等中間渠道,進過佇列排序,編導篩選在一條一條發給那一個記者滴)
理論知識懂,實作就不一樣了。
發現自己網路通信的知識懂得太少,我還是學學網路通信相關的基礎知識
uj5u.com熱心網友回復:
機器是否有分組交換功能?uj5u.com熱心網友回復:
服務端限制了一個客戶端連接,還有辦法實作多電腦連接機器嗎
局域網的的情況下,服務端記錄第一臺連接機器的電腦,其它再想連的電腦連接并通過第一臺電腦處理命令也可以。基于,大部分機器不支持建立多個連接。
uj5u.com熱心網友回復:
機器是否有分組交換功能?
這個不懂,機器有個網口
uj5u.com熱心網友回復:
服務端限制了一個客戶端連接,還有辦法實作多電腦連接機器嗎
局域網的的情況下,服務端記錄第一臺連接機器的電腦,其它再想連的電腦連接并通過第一臺電腦處理命令也可以。基于,大部分機器不支持建立多個連接。
現在想同一個電腦的兩個軟體連接一個機器,可以用同一埠?
uj5u.com熱心網友回復:
來吧,俺們也不想多說啥。沒有任何概念,說在多都沒概念這個東西現在叫IOT,國內BAT,國外微軟,google,亞馬遜都有套件。
國外的俺們就不說了,來看國內的“百度天工”
百度自己的資料比較散,我給個相對比較集中的
https://www.cnblogs.com/Andy0827/p/8687423.html
當然,我們的意思不是讓你去看那些技術名詞,我們讓你看的是BAT,google這些人是怎么想的,怎么弄。具體 技術丟一邊去,但人家最大的基礎體系是怎么樣的,你才有概念
uj5u.com熱心網友回復:
每次實體化的原因是因為呼叫服務器的時候做實體化操作了!把這個變數定義成靜態的,就不會這樣了uj5u.com熱心網友回復:
每次實體化的原因是因為呼叫服務器的時候做實體化操作了!把這個變數定義成靜態的,就不會這樣了
沒用的,試過了,在軟體中訪問的靜態變數,和服務器中訪問的靜態變數不在同一個記憶體空間,服務器每次獲取的都是沒有修改過的
uj5u.com熱心網友回復:
用SOCKET異步實作,理論上連接多少個客戶端都沒問題轉載請註明出處,本文鏈接:https://www.uj5u.com/net/133773.html
標籤:C#
上一篇:急,求解
