package com.roboo.like.netease;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class SocketActivity extends BaseActivity
{
private static final String IP_ADDRESS = "172.16.100.72";
private static final int SERVER_PORT = 10000;
private EditText mETText;
private Button mBtnSend;
private Button mBtnCancle;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setTVTitle(R.string.tv_client_socket);
// TODO setContentView Tag
setContentView(R.layout.activity_socket);
initView();
this.mBtnCancle.setOnClickListener(this);
this.mBtnSend.setOnClickListener(this);
}
private void initView()
{
this.mETText = (EditText) findViewById(R.id.et_text);
this.mBtnCancle = (Button) findViewById(R.id.btn_cancle);
this.mBtnSend = (Button) findViewById(R.id.btn_send);
}
// 发送信息
public boolean sendMsg()
{
Socket socket = null;
boolean flag = false;
try
{
// 创建socket对象,指定服务器端地址和端口号
socket = new Socket(IP_ADDRESS, SERVER_PORT);
// 获取 Client 端的输出流
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
// 填充信息
out.println(mETText.getText());
System.out.println("msg=" + mETText.getText());
flag = true;
}
catch (UnknownHostException e1)
{
e1.printStackTrace();
}
catch (IOException e1)
{
e1.printStackTrace();
}
finally
{
// 关闭
try
{
if (null != socket)
{
socket.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
return flag;
}
@Override
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btn_send:
new AsyncTask<Void, Void, Boolean>()
{
@Override
protected Boolean doInBackground(Void... params)
{
return sendMsg();
}
@Override
protected void onPostExecute(Boolean result)
{
if(result.booleanValue())
{
Toast.makeText(SocketActivity.this, "发送成功",Toast.LENGTH_SHORT).show();
mETText.setText("");
}
else
{
Toast.makeText(SocketActivity.this, "发送失败",Toast.LENGTH_SHORT).show();
}
}
}.execute();
break;
case R.id.btn_cancle:
this.finish();
default:
break;
}
super.onClick(v);
}
}