作者liaommx (Orz)
看板C_Sharp
標題Re: [問題] 多程式共用serial port
時間Tue Jul 27 21:58:51 2010
不要叫我大大..囧
我一並回在板上,
這個想法很簡單,有點結合client/server的架構
假設A程式開啟了COM1使用權,
那麼只有A程式可以在COM1寫入、讀取
那麼B程式不能對COM1寫入、讀取,
所以,B程式和C程式"需要"對COM1讀取、寫入的時候,
就利用SOCKET方法連接到A程式,
如果只是要針對COM1讀取的話,
只要A程式傳給B、C程式成功連接後,COM1所聽到的內容.
而當B、C要寫入的時候,也是讓A知道有人想寫入,
但是要避免同時寫入的情形,
所以另外有一個變數n,
當B想寫入COM1時,A將n設為1,則C就不能寫入,
當B寫完COM1了以後,A將n設為0,則B、C都可以寫入COM1,
只是B、C不直接存取COM1,是透過A去存取COM1,
這個A就是所謂中間人的腳色(man in the middle)
這方法不必寫到所謂的sniffer方法,
又能達到你所要求的sniffer效果
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.226.121
推 leicheong:我只想說, 可以改的話把A和B合併會不會容易些? 07/27 22:31
→ liaommx:可是他A和B是不同電腦的感覺? 07/27 22:57
→ leicheong:兩台電腦的話B是web service那根本沒問題吧? :O 07/27 23:20
推 bbblue:感謝大家的熱心指導,A跟B是位在同一台電腦的, 07/28 11:37
→ bbblue:A是常駐型程式,B則是由IIS啟動;提供遠端使用者呼叫使用 07/28 11:38
→ bbblue:目前看起來有幾個方向可以嘗試...我先涉略看看, 07/28 11:39
→ bbblue:如果有所突破的話再上來與大家分享...感謝大家!m(_ _)m 07/28 11:40