基本信息
源码名称:Android tcp通讯学习用
源码大小:6.40KB
文件格式:.java
开发语言:Java
更新时间:2014-08-18
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
核心代码:
package com.Test;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.Reader;
import java.net.Socket;
import java.net.ServerSocket;
import java.net.UnknownHostException;
import android.view.TextureView;
import android.widget.EditText;
import java.lang.String;
import java.lang.Thread;
public class MainActivity extends Activity implements OnClickListener{
private Button m_btn;
private Button m_sendbtn;
private ServerSocket mySerSocket;
private Socket clientSocket;
private EditText m_edit;
private String line;
boolean conn = true;
private Socket accSocket;
private static final String Host = "10.0.2.2";
private static final int Port = 12000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_btn = (Button)findViewById(R.id.button1);
m_sendbtn = (Button)findViewById(R.id.button2);
m_edit = (EditText)findViewById(R.id.editText1);
//m_btn.setOnClickListener(this);
m_btn.setOnClickListener(new ReceiverListener());
m_sendbtn.setOnClickListener(this);
//Socket clientSocket = new Socket(Host, Port);
}
class ReceiverListener implements OnClickListener
{
private ReceiveThread mReceiveThread = null;
private boolean stop = true;
private Handler mHandler = null;
public void onClick(View v)
{
try
{
if(clientSocket == null)
{
clientSocket = new Socket(Host, Port);
}
// InputStream myInputStream = clientSocket.getInputStream();
//
// //BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream));
//
// byte [] buffer = new byte[myInputStream.available()];
//int temp = 0;
//String strMsg = in.readLine();
// myInputStream.read(buffer);
//
//
// String strMsg = new String(buffer);
//
// m_edit.setText(strMsg);
// while ((temp = myInputStream.read(buffer)) != -1)
// {
// m_edit.setText(new String(buffer, 0, temp));
//
// }
mReceiveThread = new ReceiveThread(clientSocket);
stop = false;
mReceiveThread.start();
}
catch (IOException e)
{
e.printStackTrace();
}
//消息处理
mHandler = new Handler()
{
public void handleMessage(Message msg)
{
m_edit.setText((msg.obj).toString());
}
};
}
private class ReceiveThread extends Thread
{
private InputStream inStream = null;
private byte[] buf;
private String str = null;
ReceiveThread(Socket s)
{
try
{
this.inStream = s.getInputStream();
}
catch(IOException e)
{
e.printStackTrace();
}
}
public void run()
{
while(!stop)
{
this.buf = new byte[512];
try
{
this.inStream.read(this.buf);
}
catch(IOException e)
{
e.printStackTrace();
}
try
{
this.str = new String(this.buf, "GB2312").trim();
}
catch(UnsupportedEncodingException e)
{
e.printStackTrace();
}
Message msg = new Message();
msg.obj = this.str;
mHandler.sendMessage(msg);
}
}
}
}
public void onClick(View v)
{
// if (v.getId() == R.id.button1)
// {
// new Thread()
// {
// public void run()
// {
// try
// {
// if(clientSocket == null)
// {
// clientSocket = new Socket(Host, Port);
// }
// InputStream myInputStream = clientSocket.getInputStream();
//
// BufferedReader in = new BufferedReader(new InputStreamReader(myInputStream));
//
// byte [] buffer = new byte[1024 * 4];
//
// int temp = 0;
//
// String strMsg = in.readLine();
//
// //myInputStream.read(buffer);
//
// //String strMsg = new String(buffer);
//
// m_edit.setText(strMsg);
//
//// while ((temp = myInputStream.read(buffer)) != -1)
//// {
//// m_edit.setText(new String(buffer, 0, temp));
////
//// }
//
// }
// catch (IOException e)
// {
// e.printStackTrace();
// }
// }
// }.start();
//
// }
if(v.getId() == R.id.button2)
{
new Thread()
{
public void run()
{
try
{
if(clientSocket == null)
{
clientSocket = new Socket(Host, Port);
}
//inputStream clientInputStream = clientSocket.
String msg = "RESET-SHOW";
//InputStream clientInputStream = clientSocket.getInputStream();
//BufferedReader br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
//BufferedReader br = new BufferedReader();
//line = br.readLine();
OutputStream clientOutputStream = clientSocket.getOutputStream();
byte buffer[]=msg.getBytes();
clientOutputStream.write(buffer);
clientOutputStream.flush();
//int temp = 0;
// PrintWriter out = new PrintWriter(clientOutputStream);
//
// out.println("Serer Message: " msg);
}
catch(IOException e)
{
e.printStackTrace();
}
}
}.start();
}
}
private Reader InputStreamReader() {
// TODO Auto-generated method stub
return null;
}
// private Handler handler = new Handler()
// {
// public void handleMessage(Message msg)
// {
// super.handleMessage(msg);
// //处理UI
// m_edit.setText("Finish");
// Log.i("PDA", "Finish");
//
// }
// };
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}