分类: Android平台
2013-05-29 22:28:37
Android是基于linux的系统,系统底层机制基本上是相同的,因为分本地代码和java代码,并且是java代码通过jni调用本地代码执行。
因为UDP报文发送是有局限的,局限就是当发送方的速度远远的超过接受方的时候,底层会大量的丢失数据,而且用UDP还会比较容易引起端口的阻塞,因此需要更加强大的类来实现类似的功能。LocalServerSocket和LocalSocket正是在这样的情况下产生的,是以UNIX空间为缓冲区来进行数据的存储的.
实例一:Native本地代码作客户端发送请求,Java端作服务器端创建socket,并监听处理socket请求:
import
android.net.LocalServerSocket;
import android.net.LocalSocket;
class SocketListener extends Thread {
@Override
public void run() {
try {
LocalServerSocket server = new
LocalServerSocket("com.jenny.vnc.localsocket");
while (true) {
LocalSocket receiver
= server.accept();
if (receiver != null)
{
InputStream input
= receiver.getInputStream();
int readed =
input.read();
...........//handle
}
}
server.close();