国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android連接服務器端的Socket的實例代碼

2019-10-23 18:27:39
字體:
來源:轉載
供稿:網友

廢話不多說了,直接給大家貼代碼了,具體代碼如下所述:

package com.exa

mple.esp8266;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PrintStream;import java.net.Socket;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity { private EditText edSend, edReceive; private Button btnConnect, btnSend; private Handler myHandler; private SendThread SendThread; private boolean isReceive = false; private boolean isConnect = false; private static final String HOST = "192.168.4.1"; private static final int PORT = 333; String strMessage; Socket socket = null; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  edSend = (EditText) findViewById(R.id.edSend);  edReceive = (EditText) findViewById(R.id.edReceive);  btnConnect = (Button) findViewById(R.id.btConnect);  btnSend = (Button) findViewById(R.id.btSend);  // 連接  btnConnect.setOnClickListener(new View.OnClickListener() {   public void onClick(View v) {    // TODO Auto-generated method stub    if (!isConnect) {     new Thread(connectThread).start();     isConnect = true;    }   }  });  // 發送  btnSend.setOnClickListener(new View.OnClickListener() {   public void onClick(View v) {    // 啟動發送線程    new Thread(SendThread).start();   }  });  myHandler = new Handler() {// UI主線程消息處理函數   public void handleMessage(Message msg) {    Bundle bundle = msg.getData();    String string = bundle.toString();    edReceive.setText(string);   }  }; } // 連接到服務器的接口 Runnable connectThread = new Runnable() {  public void run() {   // TODO Auto-generated method stub   try {    socket = new Socket(HOST, PORT);    if (socket != null)     Toast.makeText(getApplicationContext(), "連接成功",       Toast.LENGTH_LONG).show();    else     Toast.makeText(getApplicationContext(), "連接失敗",       Toast.LENGTH_LONG).show();    // 初始化發送線程    SendThread = new SendThread(socket);   } catch (IOException e) {    // TODO Auto-generated catch block    e.printStackTrace();   }  } }; // 接收消息的接口 Runnable Receive = new Runnable() {  InputStream inStream;  private byte[] buffer;  private String str = null;  public void run() {   // TODO Auto-generated method stub   while (!isReceive) {    buffer = new byte[512];    try {     inStream = socket.getInputStream();     inStream.read(buffer);    } catch (IOException e) {     e.printStackTrace();    }    str = new String(buffer);    Bundle bundle = new Bundle();    bundle.get(str);    Message message = new Message();    message.setData(bundle);    myHandler.sendMessage(message);   }  } }; // 發送線程 private class SendThread extends Thread {  private OutputStream outStream = null;  private String str = null;  SendThread(Socket socket) {   try {    outStream = socket.getOutputStream();   } catch (IOException e) {    e.printStackTrace();   }  }  public void run() {   // while(true){   str = edSend.getText().toString().trim();   PrintStream pt = new PrintStream(outStream);   pt.print(str);   new Thread(Receive).start();   // }  } } protected void onDestroy() {  // TODO Auto-generated method stub  super.onDestroy();  if (Receive != null) {   isReceive = false;   ((Thread) Receive).interrupt();  } }}

android,連接服務器端,Socket

以上所述是小編給大家介紹的Android連接服務器端的Socket的實例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新沂市| 忻城县| 康平县| 巴彦县| 辉县市| 永德县| 浦县| 上虞市| 清新县| 铜梁县| 马尔康县| 宁陕县| 永川市| 沂南县| 克山县| 佛山市| 南皮县| 湘西| 枣阳市| 德江县| 韶关市| 焉耆| 监利县| 鸡泽县| 青浦区| 临城县| 玛纳斯县| 阿巴嘎旗| 沿河| 湖口县| 神农架林区| 西安市| 北碚区| 石泉县| 崇礼县| 益阳市| 富民县| 仪征市| 个旧市| 德昌县| 商水县|