阅读:4740回复:4
在Windows下怎样把串口(COM 口)模拟成网卡
在Windows下怎样把串口(COM 口)模拟成网卡?具体描述如下:
应用程序通过socket(这个socket接口要求位于数据链路层,需要自己实现,它收发的数据包是完整的以太帧,这个问题以后单独讨论)向网卡驱动传递数据,但数据最终是通过串口发送和接收的,也就是说要在网卡的驱动程序里调用串口的发送函数,串口收到数据后传递给网卡驱动。请问各位大侠怎样实现?是否要用到虚拟网卡。哪末Windows下的虚拟网卡又是怎样实现的?最好有源码。 我的msn: happy_bird2003@hotmail.com 欢迎指教。 |
|
最新喜欢:![]()
|
沙发#
发布于:2003-12-09 12:25
freducn2002 你好!能不能把你的建议说的详细点。不好意思,我是新手。
好象不用写串口驱动,我现在觉得只要写一个虚拟网卡就行了,你知道怎样在Windows下实现虚拟网卡吗?请赐教。 |
|
|
板凳#
发布于:2003-12-09 09:43
建议看TDI client实现方法,在虚拟串口驱动中使用ZwCreateFile函数访问网卡。
|
|
地板#
发布于:2003-12-05 18:58
上面那位兄弟,我们真是志同道合呀,我做的是通过串口进行通信,不过没有你的那么复杂,我现在有这方面的想法,希望能共同发展
|
|
地下室#
发布于:2003-12-05 11:12
可能我没把问题说清楚,现在完整的描述一下:
我现在做的驱动是MASC(Mobitex Asynchronous Serial Communication)driver,Mobitex 是爱立信开发的无线通讯标准,不知大家听说过没有。这个驱动位于数据链路层,在ip层以下,它通过串口上接的专用Modem收发数据,Modem最终通过Mobitex无线网络 收发数据,每个Modem有自己的硬件地址MAN(Mobitex Address Number),就好像网卡的MAC地址一样。所以它没有也不必有IP地址。 在Linux 下有一种SOCK_PACKET类型的socket,当然这种socket是位于数据链路层的,通过把串口虚拟成网卡(通过tty线路规程、网络接口等技术实现),就能和MASC driver通信。所以当你打开Socket后,然后Bind到的是一个设备名称而不是IP地址。socket包里已经包含了源和目标硬件地址(MAN)。我现在就是想在Windows下实现这种功能,同时又要向上提供一个socket接口,就象Linux下的SOCK_PACKET那样。 希望各位能指点一二,这个问题已经困扰我好久了。谢谢各位! 我的msn: happy_bird2003@hotmail.com 欢迎指教。 |
|
|