全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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


# android  # 连接服务器端  # Android实现蓝牙客户端与服务器端通信示例  # Android客户端post请求服务器端实例  # Android解析服务器端发来的xml数据示例  # android客户端从服务器端获取json数据并解析的实现代码  # Android中使用socket通信实现消息推送的方法详解  # 给大家  # 所述  # 小编  # 说了  # 不多  # 连接到  # 给我留言  # 有任何  # btnSend  # btnConnect  # edReceive  # myHandler  # isReceive  # boolean  # SendThread  # edSend  # Toast  # EditText  # Button  # public 


相关文章: 如何在Golang中引入测试模块_Golang测试包导入与使用实践  学校免费自助建站系统:智能生成+拖拽设计+多端适配  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  h5网站制作工具有哪些,h5页面制作工具有哪些?  香港服务器租用费用高吗?如何避免常见误区?  如何在Golang中指定模块版本_使用go.mod控制版本号  C++中引用和指针有什么区别?(代码说明)  宝塔新建站点报错如何解决?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  制作电商网页,电商供应链怎么做?  代购小票制作网站有哪些,购物小票的简要说明?  建站主机功能解析:服务器选择与快速搭建指南  高防服务器如何保障网站安全无虞?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  如何正确下载安装西数主机建站助手?  如何通过VPS搭建网站快速盈利?  XML的“混合内容”是什么 怎么用DTD或XSD定义  网站制作公司,橙子建站是合法的吗?  如何快速搭建二级域名独立网站?  网站制作公司排行榜,四大门户网站排名?  如何在万网开始建站?分步指南解析  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何做网站制作流程,*游戏网站怎么搭建?  深圳网站制作的公司有哪些,dido官方网站?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  平台云上自主建站:模板化设计与智能工具打造高效网站  建站DNS解析失败?如何正确配置域名服务器?  实例解析Array和String方法  建站OpenVZ教程与优化策略:配置指南与性能提升  php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】  如何选择高性价比服务器搭建个人网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  北京网站制作公司哪家好一点,北京租房网站有哪些?  建站主机选购指南:核心配置优化与品牌推荐方案  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  ,巨量百应是干嘛的?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  jQuery 常见小例汇总  装修招标网站设计制作流程,装修招标流程?  宁波自助建站系统如何快速打造专业企业网站?  如何选择高效便捷的WAP商城建站系统?  如何在企业微信快速生成手机电脑官网?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  宝塔建站无法访问?如何排查配置与端口问题?  如何挑选最适合建站的高性能VPS主机?  ,石家庄四十八中学官网?  如何在自有机房高效搭建专业网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  如何配置FTP站点权限与安全设置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。