作者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
1F:推 leicheong:我只想说, 可以改的话把A和B合并会不会容易些? 07/27 22:31
2F:→ liaommx:可是他A和B是不同电脑的感觉? 07/27 22:57
3F:→ leicheong:两台电脑的话B是web service那根本没问题吧? :O 07/27 23:20
4F:推 bbblue:感谢大家的热心指导,A跟B是位在同一台电脑的, 07/28 11:37
5F:→ bbblue:A是常驻型程式,B则是由IIS启动;提供远端使用者呼叫使用 07/28 11:38
6F:→ bbblue:目前看起来有几个方向可以尝试...我先涉略看看, 07/28 11:39
7F:→ bbblue:如果有所突破的话再上来与大家分享...感谢大家!m(_ _)m 07/28 11:40