android tcp判断服务器是否断开,Android tcp客户端连接,然后从java服务器断开连接...

本文介绍了一个Android应用如何通过TCP连接到本地Java服务器,并探讨了连接管理和断开连接的问题。在Android设备上,TCP客户端能够成功连接到Java服务器,但在保持连接时遇到困难。代码示例展示了服务器端接收和关闭连接的逻辑,以及Android客户端的连接实现。
摘要由CSDN通过智能技术生成

我在我的电脑上执行java服务器并让我的android设备连接到它。我可以连接它,但一旦连接就会断开连接。我确信在android方面我需要做一些事情,但我很少迷失它。我有互联网许可,所以很好。Android tcp客户端连接,然后从java服务器断开连接

而且忽视了注释代码,我发送图像从我的Android到PC。也忽略savebitmap并采取截图我不认为它影响连接,如果它没有被调用。

的Java服务器:Java服务器

import java.io.BufferedReader;

import java.io.DataOutputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.Socket;

public class EchoThread extends Thread {

protected Socket socket;

public EchoThread(Socket clientSocket){

this.socket = clientSocket;

}

public void run(){

InputStream inp = null;

BufferedReader brinp = null;

DataOutputStream out = null;

try{

inp = socket.getInputStream();

brinp = new BufferedReader(new InputStreamReader(inp));

out = new DataOutputStream(socket.getOutputStream());

}catch(Exception e){

return;

}

String line;

while(true){

try{

line = brinp.readLine();

if ((line == null) || line.equalsIgnoreCase("QUIT")){

socket.close();

return;

}else{

out.writeBytes(line+ "\n\r");

out.flush();

}

}catch(Exception e){

e.printStackTrace();

return;

}

}

}

}

这里

import javax.imageio.ImageIO;

impor

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 下载EMQX 首先,需要从EMQX官网下载EMQX Broker。EMQX Broker是一款开源的MQTT消息服务器,可以支持数百万连接的并发连接。下载完成后,可以解压并运行EMQX Broker。 2. 配置EMQX 在EMQX Broker解压后的文件夹中,找到etc文件夹,然后找到emqx.conf文件。在这个文件中,可以找到监听端口的配置,可以将监听端口改为1883或其他MQTT协议的默认端口。 3. 创建Android项目 创建一个新的Android项目,并添加以下依赖项: ```java implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5' ``` 4. 连接到EMQX 在Android项目中,可以使用Paho MQTT库来连接到EMQX Broker。以下是连接到EMQX Broker的示例代码: ```java String clientId = MqttClient.generateClientId(); MqttConnectOptions options = new MqttConnectOptions(); options.setUserName("your_username"); options.setPassword("your_password".toCharArray()); MqttAndroidClient client = new MqttAndroidClient(this.getApplicationContext(), "tcp://your_emqx_broker_ip:1883", clientId); client.connect(options); ``` 首先,需要生成一个客户端ID。客户端ID是一个唯一的标识符,用于标识连接到EMQX Broker的客户端。然后,需要设置连接选项,包括用户名和密码。 接下来,创建一个MqttAndroidClient对象,并使用EMQX Broker的IP地址和端口号来创建连接。 5. 订阅主题 使用以下代码订阅主题: ```java String topic = "your_topic"; int qos = 1; try { IMqttToken subToken = client.subscribe(topic, qos); subToken.setActionCallback(new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { // 订阅成功 } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // 订阅失败 } }); } catch (MqttException e) { e.printStackTrace(); } ``` 在这个例子中,订阅了一个名为"your_topic"的主题,使用了QoS级别1。 6. 发布消息 使用以下代码发布消息: ```java String topic = "your_topic"; String payload = "your_payload"; int qos = 1; boolean retained = false; try { client.publish(topic, payload.getBytes(), qos, retained); } catch (MqttException e) { e.printStackTrace(); } ``` 在这个例子中,发布了一个名为"your_topic"的主题,消息内容为"your_payload",使用了QoS级别1。 7. 断开连接 使用以下代码断开连接: ```java try { IMqttToken disconToken = client.disconnect(); disconToken.setActionCallback(new IMqttActionListener() { @Override public void onSuccess(IMqttToken asyncActionToken) { // 断开连接成功 } @Override public void onFailure(IMqttToken asyncActionToken, Throwable exception) { // 断开连接失败 } }); } catch (MqttException e) { e.printStackTrace(); } ``` 在这个例子中,使用了disconnect()方法来断开连接。 以上就是使用Android Studio连接使用EMQX的步骤。在实际开发中,需要根据具体的需求来订阅主题和发布消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值