当前位置: 首页 > 编程笔记 >

Android连接服务器端的Socket的实例代码

惠诚
2023-03-14
本文向大家介绍Android连接服务器端的Socket的实例代码,包括了Android连接服务器端的Socket的实例代码的使用技巧和注意事项,需要的朋友参考一下

废话不多说了,直接给大家贴代码了,具体代码如下所述:

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的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

 类似资料:
  • 本文向大家介绍php简单socket服务器客户端代码实例,包括了php简单socket服务器客户端代码实例的使用技巧和注意事项,需要的朋友参考一下 本篇文章分享一个简单的socket示例,用php。实现一个接收输入字符串,处理并返回这个字符串到客户端的TCP服务。 产生一个 socket 服务端 提示:你应该使用你的命令提示符来运行上面这段代码。理由是因为这里将产生一个服务器,而不是一个Web页面

  • 本文向大家介绍Python连接Java Socket服务端的实现方法,包括了Python连接Java Socket服务端的实现方法的使用技巧和注意事项,需要的朋友参考一下 java服务端单线程示例 Python客户端单线程示例 到此这篇关于Python连接Java Socket服务端的实现方法的文章就介绍到这了,更多相关Python连接Java Socket 内容请搜索呐喊教程以前的文章或继续浏览

  • 本文向大家介绍python服务器与android客户端socket通信实例,包括了python服务器与android客户端socket通信实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: 下面是Android代码: 安卓代

  • 本文向大家介绍C#实现的Socket服务器端、客户端代码分享,包括了C#实现的Socket服务器端、客户端代码分享的使用技巧和注意事项,需要的朋友参考一下 服务端: 客户端:

  • 本文向大家介绍Java Socket编程服务器响应客户端实例代码,包括了Java Socket编程服务器响应客户端实例代码的使用技巧和注意事项,需要的朋友参考一下 通过输入流来读取客户端信息,相应的时候通过输出流来实现。 服务端类的代码: 客户端类的代码: 先运行服务器端类,之后再运行客户端类: 服务器端类输出结果: 客户端类的输出结果: 总结 以上就是本文关于Java Socket编程服务器响应

  • 我正在尝试使用react和express和socket.io建立一个聊天应用程序,但在尝试使用socket.io连接客户端和服务器时,我遇到了这个错误(我使用的是Firefox,我在所有其他浏览器上遇到了同样的错误) Firefox无法连接到ws:/localhost:5000/socket.io/?eio=4&transport=websocket处的服务器。 加载页面时,与ws://local