如题,
本人在写一个CAN总线的JNI库供上层的Java应用层序调用。
由于can的kernel底层驱动是适用的socketcan架构,所以JNI库里面是适用linux socket编程来调用驱动.
我发现 在JNI库里面调用socket(AF_INET, SOCK_DGRAM, 0)失败,返回值是0xffffffff。
请问大侠们有没有遇到类似的问题?给些建议吗?
android?jni?socket?
------解决方案--------------------
这个根socket没有关系吧,估计sokcet接收命令后处理返回的结果不对
------解决方案--------------------
这样,首先你先确保socket整个调用流程是否正确
然后你看看socket接收命令后处理那块是否正确.
------解决方案--------------------
这个根socket没有关系吧,估计sokcet接收命令后处理返回的结果不对
那为什么 “sokcet接收命令后处理返回的结果不对” ?
这样,首先你先确保socket整个调用流程是否正确
然后你看看socket接收命令后处理那块是否正确.
我是上层JNI代码,socket是linux标准API,我没有必要去管理socket里面的实现吧?
无论如何,我运行一下“socket(AF_INET, SOCK_DGRAM, 0)”应该不会失败吧?
嗯,应该不会失败.我在想adb shell和jni里面调很大的区别就是adb shell里面有root权限...
其它我不知道你的代码,所以不是很清楚.
------解决方案--------------------
这个根socket没有关系吧,估计sokcet接收命令后处理返回的结果不对
那为什么 “sokcet接收命令后处理返回的结果不对” ?
这样,首先你先确保socket整个调用流程是否正确
然后你看看socket接收命令后处理那块是否正确.
我是上层JNI代码,socket是linux标准API,我没有必要去管理socket里面的实现吧?
无论如何,我运行一下“socket(AF_INET, SOCK_DGRAM, 0)”应该不会失败吧?
嗯,应该不会失败.我在想adb shell和jni里面调很大的区别就是adb shell里面有root权限...
其它我不知道你的代码,所以不是很清楚.
也不对,想了半天,没你的代码,不知道问题在哪