80,348
社区成员
发帖
与我相关
我的任务
分享
package com.cm.activity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketUtils {
private final String IP = "192.168.1.107";
private final int PORT = 1111;
private static SocketUtils mInatance;
private Socket socket;
BufferedReader input;
private SocketUtils() {
}
public static SocketUtils getInstance() {
if (mInatance == null) {
mInatance = new SocketUtils();
}
return mInatance;
}
public boolean isConnected() {
return socket != null && socket.isConnected();
}
public boolean connect() {
if (isConnected()) {
return true;
}
try {
socket = new Socket(IP, PORT);
return socket.isConnected();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public void send(String msg) {
try {
OutputStream outputStream = socket.getOutputStream();
outputStream.write(msg.getBytes("UTF-8"));
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public String send(String msg, int a) {
try {
OutputStream outputStream = socket.getOutputStream();
outputStream.write(msg.getBytes("UTF-8"));
input = new BufferedReader(new InputStreamReader(socket.getInputStream())); //这两句没有错吧?
return input.readLine();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return "0";
}
}
package com.cm.activity;
public class SocketSender {
public static void send(final String cmd) {
new Thread(new Runnable() {
@Override
public void run() {
SocketUtils.getInstance().send(cmd);
}
}).start();
}
public static void send(final String cmd,final int a) {
new Thread(new Runnable() {
@Override
public void run() {
final String result = SocketUtils.getInstance().send(cmd,a);
}
}).start();
}
}
private void query() {
new Thread(new Runnable() {
@Override
public void run() {
final String result = SocketUtils.getInstance().send("door_now" , 0);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (result.compareTo(result)==1) {
isOpen = true;
setStatus();
}
}
});
}
}).start();
}