Raw Sockets on Android

2019-01-14 17:57发布

I want to create an application that runs on Android and uses Raw Sockets. I see there isn't any raw socket support in the java.net.* or the android.net.* libraries. Are raw sockets possible on Android?

3条回答
趁早两清
2楼-- · 2019-01-14 18:02

Correct, raw sockets are not supported in any Java or Android libraries, in part because (I quote from here):

it is believed that such a package would degrade the current Java security model and may be difficult to implement in a non-operating system (OS) dependent fashion.

There are 3rd party libraries like RockSaw or JSocket, however these require compiling C or C++, so you are out of luck there.

Also, I believe you need root access to use raw sockets.

So, with all that, I would say technically it's possible, but not practical at this time.

查看更多
做个烂人
3楼-- · 2019-01-14 18:10

Why not use Android interprocess comunication, like :

AIDL, Intent, Broadcast etc

See http://developer.android.com/guide/topics/fundamentals/services.html for example. They use internally raw sockets

查看更多
干净又极端
4楼-- · 2019-01-14 18:12

As far as I know it's not possible on Android. Not in java nor c/c++ due to security reasons(I guess), the only possible solution would be through some hack with root access. I've been searching for a way as well but never found anything.

查看更多
登录 后发表回答