网上找了个例子改了下,测试几个点没有问题,太多的话,没有测试过,如有高手,请指教
DEMO:http://download.csdn.net/detail/small5e4444/9057981
一共做了三个类:
1、是TestTcpServer_activity 就是个普通的activity,做个按钮启动server;
2、Server 负责启动server,并且启动线程,在线程里 socket = server.accept();等待client;收到client后,把client存在list中,再new Runnable,去处理每个client;
3、ServerThread实现接口Runnable,去处理每个client
server端:
1、
import com.socket.Server;
public class TestTcpServer_activity extends Activity {
/** Called when the activity is first created. */
private EditText porText;
private Server server;
private TextView prinText;
private String String1;
private Button btnStr,btnStop,btnAg;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tcp_server);
// TODO Auto-generated method stub
porText = (EditText)findViewById(R.id.serverPort);
prinText = (TextView)findViewById(R.id.serverDisplay);
btnStr = (Button)findViewById(R.id.btnStart);
btnStop = (Button)findViewById(R.id.btnstop);
btnAg = (Button)findViewById(R.id.btnAg);
setTitle(Info.getLocalHostIp());
prinText.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
String1 = "";
p