android实现socket端口通信demo
(1)socket通信描述
Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使
用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端
返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送
,而不需要每次由客户端想服务器发送请求。 那么,什么是socket?Socket又称套接字,在程序内部提供了与
外界通信的端口,即端口通信。通过建立socket连接,可为通信双方的数据传输传提供通道。socket的主要特点
有数据丢失率低,使用简单且易于移植。
TCP使用的是流的方式发送,UDP是以包的形式发送。
(2)android端
public class MainActivity extends ActionBarActivity implements View.OnClickListener {
private EditText editText;
private TextView textView;
private Socket socket;
private String buffer = "";
public Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == 1314){
Bundle bundle = msg.getData();
textView.append("server:" + bundle.getString("msg") + "\n");
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText);
textView = (TextView) findViewById(R.id.textView);
findViewById(R.id.button).setO