android上socket通讯丢包问题之完美解决方案
篇一:Android之Socket通信
//服务器端
package com.xmf.socketservertest;
public class MainSocketServer {
public static void main(String args[]){
SocketServer server = new SocketServer(2000);
server.beginListen();
}
}
package com.xmf.socketservertest;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import .ServerSocket;
import .Socket;
public class SocketServer {
private static final String bm=UTF-8;
ServerSocket sever;
public SocketServer(int port){
try{
sever = new ServerSocket(port);
}catch(IOException e){
e.printStackTrace();
}
}
public void beginListen(){
while(true){
try{
final Socket socket = sever.accept();
new Thread(new Runnable(){
public void run(){
BufferedReader in;
BufferedWriterbw ;
try{
in = new BufferedReader(new
InputStreamReader(socket.getInputStream(),bm));
bw = new BufferedWriter(new
OutputStreamWriter(socket.getOutputStream(),bm));
while (!socket.isClosed()){
String str;
str = in.readLine();
if(123.equals(str)){
bw.write(同时打开123);
}else{
bw.write(扯饲 + str);
}
bw.close();
if (str == null || str.equals(end))
break;
System.out.println(str);
}
socket.close();
}catch(IOException e){
e.printStackTrace();
}
}
}).start();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
//android客户端 android2.2版本
package com.sockeandroid.api;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import .Socket;
import .UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener { private Button outBtn;
private EditText inEditT