Android连接服务器端的Socket的实例代码
发布时间 - 2026-01-11 01:30:41 点击率:次废话不多说了,直接给大家贴代码了,具体代码如下所述:

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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何确保西部建站助手FTP传输的安全性?
如何在IIS7上新建站点并设置安全权限?
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
php结合redis实现高并发下的抢购、秒杀功能的实例
Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】
jQuery 常见小例汇总
Laravel定时任务怎么设置_Laravel Crontab调度器配置
PHP正则匹配日期和时间(时间戳转换)的实例代码
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
js代码实现下拉菜单【推荐】
南京网站制作费用,南京远驱官方网站?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何利用DOS批处理实现定时关机操作详解
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
googleplay官方入口在哪里_Google Play官方商店快速入口指南
微信小程序 配置文件详细介绍
Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道
青岛网站建设如何选择本地服务器?
高端建站三要素:定制模板、企业官网与响应式设计优化
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
如何用5美元大硬盘VPS安全高效搭建个人网站?
如何在建站主机中优化服务器配置?
如何在Ubuntu系统下快速搭建WordPress个人网站?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
北京的网站制作公司有哪些,哪个视频网站最好?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
如何在腾讯云免费申请建站?
如何用好域名打造高点击率的自主建站?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
网站制作企业,网站的banner和导航栏是指什么?
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
实例解析Array和String方法
如何在阿里云完成域名注册与建站?
移动端脚本框架Hammer.js
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
如何在Windows 2008云服务器安全搭建网站?
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Laravel如何为API编写文档_Laravel API文档生成与维护方法
如何在万网利用已有域名快速建站?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
php json中文编码为null的解决办法

