android 进程间通信之SOCKET通信

java 和C 之间进 行socket通信

java 

//连接服务器

private static finale String SOCKET_NAME = "mySocket";
public boolean connect(){
        if(mSocket!=null)
               return true;
try{
mSocket = new LocalSocket();
LocalSocketAddress address = new LocalSocketAddress(SOCKET_NAME,LocalSocketAddress.Namespace.RESERVED);
mSocket.connect(address);//连接
mIn = mSocket.getInputStream();//输入
mOut = mSocket.getOutputStream();//输出
}catch(IOException ex){
disconnect();
return false;
}

}


c代码

#include <sys/socket.h>
#include <cutils/sockets.h>
</pre><pre code_snippet_id="415828" snippet_file_name="blog_20140703_14_1287721" name="code" class="cpp" style="background-color: rgb(255, 255, 255); ">#define SOCKET_NAME "mySocket" //同java
int lsocket;
struct socketaddr addr;
socklen_t alen;
</pre><pre code_snippet_id="415828" snippet_file_name="blog_20140703_19_951030" name="code" class="cpp" style="background-color: rgb(255, 255, 255); ">lsocket = android_get_control_socket(SOCKET_NAME);</span>
if(lsocket<0)
    exit(1);
if(listen(lsocket,5))
<span style="white-space:pre">	</span>exit(1);
fcntl(lsocket,F_SETFD,FD_CLOEXEC);
for(;;){
<span style="white-space:pre">	</span>alen = size(addr);
<span style="white-space:pre">	</span>s = accept(lsocket,&addr,&alen);
<span style="white-space:pre">	</span>if(s<0)
<span style="white-space:pre">	</span>continune;
<span style="white-space:pre">	</span>fcntl(s,F_SETFE,FD_CLOEXEC);
<span style="white-space:pre">	</span>for(;;){
<span style="white-space:pre">	</span>read //
<span style="white-space:pre">	</span>write...
<span style="white-space:pre">	</span>}
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值