如题,用C#怎么实现监听已经打开的串口,我从网上查了查都不能实现
实现监视需要的工作很多。你有这功夫,不如买一根1分2的线来做监视了。如果研究之用或是项目必须。要考虑api钩子,勾住createfile,readfile,writefile,KernelIoControl等相关的api,并自己重新封装数据,转发。
当然,如果只是想实现效果,你当然还有折中的办法,下载一个SerialNull软件,虚拟串口,这样你虚拟一对串口,例如 COM8<-->COM9
然后实际的比如想监视COM1。那你可以自己实现收COM1数据,转发给COM8,然后收COM8数据转发给COM1的操作,并同时,让另一个软件来操作COM9而不是真实的COM1。这样你自己做一个桥接软件。就可以在你的桥接软件中监视数据。当然,这个方法是我独创的,转载要注明:csdn.wuyazhe(逍遥)提供。以前做过类似的就是对GPS对应的端口进行监听,使用的就是createfile,readfile,writefile,KernelIoControl
如果是你自己来调用打开的话,你可以使用SerialPort,来实现监听
不是我自己调用,我是想监听已被别的程序打开的端口
在一般的程序中内存的分配有5种,栈区、堆区、全局区、文字常量区和程序代码区。栈区是由编译器自动分配和释放,存放函数的参数值、局部变量的值等值类型的数据,其操作方式类似与数据结构中的栈。堆一般由程序员自动分配释放,若程序员不释放,程序结束时可能由操作系统自动回收,分配方式类似于数据结构中的链表,存放的是引用类型的值。
有必须的话可以采用异步响应的试,等收到对方的响应之后再传下一部分。
我觉得可以用文件共享然后映射驱动器的方式,之后写一个服务,或者后台运行的程序检查该“虚拟硬盘”中的文件是否发生改动(这个在网上一搜一大片,另外,介绍IO的书里应该都有),一旦发现新文件就复制到本地就可以了。
ftp客户端部分可以下一个命令行的ftp工具,然后用C#做一个shell就ok啦。
我也是最近也为选书烦恼得要死的人……现在国内大多数书都没怎么体谅到初学者的苦恼,一般直接给大段代码给你,简单的入门操作却完全不提……我之前看过第Wrox入门经典一版的觉得还行,后来有见过2、3版但没怎么看,因从事其他事情就没再看这些了