台灣最大程式設計社群網站
線上人數
1521
 
會員總數:246631
討論主題:190057
歡迎您免費加入會員
討論區列表 >> C# >> socket通訊問題(急)_重發一次
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
socket通訊問題(急)_重發一次
價值 : 150 QP  點閱數:882 回應數:5
樓主

阿宗
門外漢
0 2
18 2
發送站內信

如題,小弟目前使用socket通訊要與設備傳接資料。
使用情況:我傳1,設備就會馬上回覆我A,我傳2,設備就會馬上回覆我B,當我傳3,設備則是會延遲一段時間後才回覆我C。

如果是正常傳的話傳接值就像1、A、2、B、3、(等待一段時間)C、1、A、2......以此類推這樣子,這邊我使用正常的send與receive是沒問題的,但是會需要等待C的回傳,而卡在那邊。

假如我不想要等待C的回傳,改成3傳出去後,沒馬上收到的話我就繼續接著傳1、2,如果中途接到3的回傳值C,我才會在下次繼續傳3出去這樣,傳接值大概像這樣1、A、2、B、3、1、A、2、B、1、A、C、2、B、3、1、A、2、B、1、C、A、2.....以此類推。

有辦法做到像這樣的方式嗎,有沒有高手可以指點一下,拜託了
抱歉小弟第一次使用,前一個QP設太低抱歉,又不會設定,只好再問一次




搜尋相關Tags的文章: [ C# ] , [ socket ] , [ 通訊 ] ,
本篇文章發表於2018-05-19 19:09
1樓
不錯的參考

P陳
檢舉此回應
原則上您這樣問是沒人有辦法回答的,與QP無關

1.沒有講設備名稱 (這堛澈e輩不會掐指一算的,算出您是那個設備的)

2. 1A 2B 3...C (沒人知道您是下什麼指令過去的)

3. 當回A 或B 時有回C了,你的資料會不會被重疊掉,失去完整性了。

以上 都只有你才知道,所以問廠商最快了。
或者請PO一下您的程式來集思廣益一下
本篇文章回覆於2018-05-20 01:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

誰是誰
檢舉此回應
假設對方的設備允許 非固定 Tcp Client port
你起 3 個 thread, 每個 thread 分別起一個 socket 各自負責 1,2,3 就可以啦。

Tcp 通訊除了認 ip, 還認 port 號的。
本篇文章回覆於2018-05-20 17:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

誰是誰
檢舉此回應
我瞧你不太急啊,幹嘛要加個急字呢?真的急的人應該會積極上來討論才對啊。
還是這世界已經對急這個字的定義改變了?
本篇文章回覆於2018-05-21 21:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

春天
檢舉此回應
這不是一般的非同步Socket概念嗎
非同步伺服器通訊
本篇文章回覆於2018-05-22 13:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

阿宗
檢舉此回應
謝謝各位的回覆,我後來有找到問題點了
就像春天大大說的那樣,要用非同步Socket來做
因為我沒有使用過所以不知道有這個用法,需求的說明也不夠清楚,抱歉
再次感謝各位
本篇文章回覆於2018-05-22 21:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.