- 说明: 本文是好几个文章的整合,刚好能够使用,也没有做任何优化,原作者我也找不到了。。。
1。 服务器端的Socket是使用TCP/UDP工具模拟的
2.重点是Android端的Socket,分两部:
2.1
new Thread(new Runnable() {
@Override
public void run() {
try {
socket = new Socket("10.10.65.94", 2000);
connected = socket.isConnected();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
public void socketText(View view){
new Thread(new Runnable() {
@Override
public void run() {
try {
if(connected){
OutputStream outputStream = socket.getOutputStream();
outputStream.write(("Carson_Ho"+"\n").getBytes("utf-8"));
outputStream.flush();
}
}catch (Exception e){
e.printStackTrace();
}
}
}).start();
}
public void save(View view){
executorService.execute(new Runnable() {
@Override
public void run() {
while(true){
try{
DataInputStream input = new DataInputStream(socket.getInputStream());
byte[] buffer;
buffer = new byte[input.available()];
if(buffer.length != 0){
Log.e("123", "run: length = " + buffer.length);
input.read(buffer);
String three = new String(buffer);
Log.e("123", "run: 数据是:" + three);
}
}catch (Exception e){
e.getMessage();
}
}
}
});
}