Android版的通信和JavaSE版通信
二者都是使用基于TCP协议实现的一组API,都是使用ServerSocket服务器与Socket通道实现的服务器和客户端之间的对话。因此从原理上二者是完全相同的。在Android APP的开发上,一般需要通过Java-ADT写一个客户端安装到安卓手机上,再通过JavaSE写一个服务器。客户端通过服务器的ip地址和端口号连接服务器,服务器再作为中间环节连接别的客户端应用,服务器也可以连接数据库做数据的管理和分发。
Android版客户端的实现
1、按下按钮获取输入的ip地址和端口号。并创建一个线程去连接服务器,处理消息。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText ipText=(EditText)this.findViewById(R.id.editText1);
final EditText portText=(EditText)this.findViewById(R.id.editText2);
Button button=(Button)this.findViewById(R.id.button1);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String ip=ipText.getText().toString();//获取输入的ip
int port =Integer.parseInt(portText.getText().toString());//获取输入的端口号
Conn2Server cs=new Conn2Server(ip,port);//创建一个线程来处理消息的收发
cs.start();
}
});
}
2、线程类。
class Conn2Server extends Thread{
private String ip;
private int port;
private InputStream ins;
private OutputStream ous;
/**
* 构造方法
* @param ip
* @param port
*/