android 中 LocalSocket的基本使用方法
16lz
2021-01-23
其使用方式基本与Socket 的时候方法是一直的
package com.example.zz;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.nio.charset.Charset;import android.app.Activity;import android.net.LocalServerSocket;import android.net.LocalSocket;import android.net.LocalSocketAddress;import android.os.Bundle;import android.os.Handler;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class LocalSocketActivity extends Activity implements OnClickListener {private String LOCAL_SOCKET_ADDRESS = "LOCAL";private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_localsocket);Button btn = (Button) findViewById(R.id.send);new LocalSocketServer().start();btn.setOnClickListener(this);}public class LocalSocketServer extends Thread{@Overridepublic void run() {try {LocalServerSocket socket = new LocalServerSocket(LOCAL_SOCKET_ADDRESS);while(true){LocalSocket accept = socket.accept();InputStream ips = accept.getInputStream();ByteArrayOutputStream byteOps = new ByteArrayOutputStream();byte[] buf = new byte[1024];int len = -1;while((len = ips.read(buf)) != -1){byteOps.write(buf, 0, len);}byte[] array = byteOps.toByteArray();String msg = new String(array);showToat(msg);ips.close();accept.close();}} catch (IOException e) {e.printStackTrace();}}}@Overridepublic void onClick(View v) {try {writeSocket("hell world!");} catch (IOException e) {e.printStackTrace();}}private void showToat(final String msg){runOnUiThread(new Runnable() {@Overridepublic void run() {Toast.makeText(LocalSocketActivity.this, msg, Toast.LENGTH_LONG).show();}});}private void writeSocket(String msg) throws IOException{LocalSocket socket = new LocalSocket();socket.connect(new LocalSocketAddress(LOCAL_SOCKET_ADDRESS));OutputStream ops = socket.getOutputStream();ops.write(msg.getBytes(Charset.forName("UTF-8")));ops.close();}}
更多相关文章
- Android方法过多MutiDex使用说明
- 修改 android 手机 hosts 文件的方法
- android 使用post方式上传文件
- android 取消标题 程序意外停解决方法
- android 判断耳机是否插入的几种方式
- Android删除Alarm的方法
- Android小项目之欢迎滑动页面(最简洁方法)