如何使用VC++访问以太网端口?不使用套接字

Kni*_*ott 1 mfc raw-ethernet visual-studio visual-c++

我是以太网编程的初学者,我想访问以太网端口并向/从其发送/接收数据包.我想过使用CIM_EthernetPort类,但不知道怎么做.请帮忙.我必须编写一个程序来将数据发送到嵌入式系统.

Mar*_*ett 6

我不认为你完全理解套接字是什么.

您的嵌入式设备使用什么协议?如果它是TCP或UDP(甚至是原始链接协议),它几乎使用套接字定义.

您可能需要在不使用套接字的情况下与以太网适配器通信的唯一原因是您要编写类似线控监视器或数据包嗅探器的内容.

ps ------------------------------------------------- ------------

套接字只是网络连接的抽象,因为UDP连接有一个端点和一个端口,如果你直接与网卡硬件对话,你使用套接字就有点哲学了.

您没有在以太网上指定波特率,卡hw将协商速度.
使用套接字通过UDP发送数据的开销很小,而且通常是一种非常有效的接收数据的方式.您是否在嵌入式设备上有RTOS,或者您是否尝试使用某种轮询直接与网络适配器通信?

pps ------------------------------------------------- -----------------
如果完全可以在嵌入式设备上使用UDP - 请注意.
如果你开始,我只需要发送一些数字,你最终会重新发明并重新解决UDP发明的所有事情.
通过使用标准协议,您还可以使用工具来测试连接的每一端(免费提供UDP等效的hyperterm).

此外,现在不需要多个设备,但将来可能会有.我主张在之前使用的产品上使用UDP - 设计人员认为以太网只是一个更快的串行链接.能够将这个产品的许多单元联网在一起,创造了一个巨大的新市场.