package com.shaoming.sockettest02;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
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;
public class SocketTest02 extends Activity implements Runnable {
private Button part01,part02,part03,part04,part05;
private static final String HOST = "192.168.1.2";
private static final int PORT = 8000;
private Socket socket = null;
private BufferedReader in = null;
private PrintWriter out = null;
private String content = "";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
part01 = (Button) findViewById(R.id.Part01);
part02 = (Button)findViewById(R.id.Part02);
part03 = (Button)findViewById(R.id.Part03);
part04 = (Button)findViewById(R.id.Part04);
part05 = (Button)findViewById(R.id.Part05);
part01.setOnClickListener(listener);
part02.setOnClickListener(listener);
part03.setOnClickListener(listener);
part04.setOnClickListener(listener);
part05.setOnClickListener(listener);
try {
socket = new Socket(HOST, PORT);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(
socket.getOutputStream())), true);
} catch (IOException ex) {
ex.printStackTrace();
}
new Thread(SocketTest02.this).start();
}
private OnClickListener listener = new OnClickListener(){
@Override
public void onClick(View v)
{
Button btn = (Button)v;
String msg = "";
switch (btn.getId())
{
case R.id.Part01:
msg = "part01";
break;
case R.id.Part02:
msg = "part02";
break;
case R.id.Part03:
msg = "part03";
break;
case R.id.Part04:
msg = "part04";
break;
case R.id.Part05:
msg = "part05";
break;
}
if (socket.isConnected()) {
if (!socket.isOutputShutdown()) {
out.println(msg);
}
}
}
};
public void run() {
try {
while (true) {
if (socket.isConnected()) {
if (!socket.isInputShutdown()) {
if ((content = in.readLine()) != null) {
content += "\n";
mHandler.sendMessage(mHandler.obtainMessage());
} else {
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
}
};
}
Android Socket 应用示例
最新推荐文章于 2018-07-07 11:25:35 发布