众所周知,java除了利用jni以外没有办法操作底层硬件,我有一个问题:java是一门
网络强项的语言,它强就强在网络编程方面,但是,似乎网络程序的运行到最后还是要通
过网卡芯片--这个硬件发送一系列数据流(包),java又是如何跨平台实现对网卡硬件
的操作控制的呢??
    类似的,我现在有一个视频采集卡,我能不能也仿效网卡芯片一样对其操作控制呢?
?(本人的目的就是利用视频采集卡采集视频,然后通过网络发送到远程服务器上面去。

    我指的是从我自己做的一块视频采集卡里面采集数据并上传啊,所以,java里面能不能发现我的硬件还是问题啊,例如,我从USB摄像头、串口视频卡等等硬件接口都不一样的,所以,java包能否操作我的硬件是个问题啊

解决方案 »

  1.   

    java当然不能直接控制底层的硬件,不信你把网卡驱动删了,看看还能不能发包,jvm都有对应每个os的,底层的都是os做的
      

  2.   

    应该是java向系统提交操作硬件的请求,经过系统调用驱动程序之后,硬件才能实现编程者所需的操作!!但是,我不太了解java如何向系统提交请求,这过程中肯定有某种接口规范在里面。java使用jni类调用c++程序,通过c++程序操作硬件,因为java没有办法实现调用硬件驱动的接口规范,也不知道说的对不对啊!!