您的位置:首页 > 移动开发 > Android开发

Android socket通信简单实现

2016-08-08 00:48 1621 查看
首先界面上一个输入框和两个按钮,一个连接按钮,一个发送按钮,发送按钮点击之后将文本框中的内容发送出去,连接的地址和端口在代码中已经写死,而且很多地方的可能出现的异常并未处理,只是简单的实现Android Socket连接和发送数据

声明的一些变量:

private Socket socket = null;
private EditText ediMsg = null;
private PrintWriter out = null;
private Button btnSend = null;
private Button btnConnect=null;
private OutputStream output=null;


链接按钮:

btnConnect.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
new Thread(new Runnable() {

@Override
public void run() {
try {
//最好每次建立一个连接之后,不使用时关闭,这里并没有关闭,只是连接和发送数据
//用花生壳域名测试:结果:成功
//152u48.iok.la:43948
//socket = new Socket("152u48.iok.la", 43948);
socket = new Socket("192.168.1.101", 60000);

output = socket.getOutputStream();

} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}).start();
}
});
发送按钮:

btnSend.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
out = new PrintWriter(output);
out.write(ediMsg.getText().toString());

out.flush();
//out.close();
//socket.close();

}
});
在配置文件中加入权限:

<uses-permission android:name="android.permission.INTERNET"/>


在Android4.0之后不能在主线程中访问网络

注意:这里只是简单的实现socket的连接和发数据,里面还有更多的操作,请朋友自己去研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: