我是靠谱客的博主 淡定水池,最近开发中收集的这篇文章主要介绍Android不同apk之间通过ServerSocket和Socket通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

新建两个Android项目:(例如SocketServer和SocketClient)

简单起见,Server端只发送一条信息,Client端只接收信息。

Server端代码:

public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
try {
ServerSocket serverSocket = new ServerSocket(12333);
while (true) {
Socket socket = serverSocket.accept();
BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
writer.write("Test Socketrn");
writer.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}

启动SocketServer,然后进adb shell,用netstat -tln查看端口占用情况,可以看到服务端已经成功运行:

1

client端代码:

public class MainActivity extends Activity {
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.text_view);
new Thread(new Runnable() {
@Override
public void run() {
try {
Socket socket = new Socket(InetAddress.getLocalHost(),
12333);
BufferedReader reader = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream()));
String line;
while ((line = reader.readLine()) != null) {
Log.i("socket client", line);
tv.setText(line);
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
}
}

启动SocketClient,因为是本地连接,所以用InetAddress.getLocalHost()来获取本地服务地址。

这时候我们可以看到输出的Log信息,以及TextView上显示了我们接收到的信息!


注意点:

1.Server和Client的端口号要一致,且不能和其它端口冲突!

2.只要调用了reader.close() 或 writer.close()则建立起来的Socket通信将被关闭!


最后

以上就是淡定水池为你收集整理的Android不同apk之间通过ServerSocket和Socket通信的全部内容,希望文章能够帮你解决Android不同apk之间通过ServerSocket和Socket通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部