服务端:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class MyServer implements Runnable {
@Override
public void run() {
try {
while(true)
{
//创建服务端ServerSocket对象
ServerSocket serverSocket = new ServerSocket(54321);
//ServerSocket.accept()方法用于等待客服连接
Socket socket = serverSocket.accept();
//接受客服端数据BufferedReader对象
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
//获取客服端数据
String context = bufferedReader.readLine();
System.out.println("客服端数据:"+context);
//给客服端发送数据
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"),true);
printWriter.println("服务端已经收到:’"+context+"‘数据!");
//关闭服务连接
serverSocket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
客服代码:
import java.io.BufferedReader;
import java.io.IOException;import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class SocketClientActivity extends Activity {
//声明变量
private EditText etMsg;
private TextView tvMsg;
private Button btnSend;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取控件
etMsg = (EditText)this.findViewById(R.id.etMsg);
tvMsg = (TextView)this.findViewById(R.id.tvMsg);
btnSend = (Button)this.findViewById(R.id.btnSend);
//给按钮注册单击事件
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
//创建Socket连接对象 (ip地址,端口)
Socket socket = new Socket("192.168.1.65",54321);
//PrintWriter发送对象
PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),"UTF-8"),true);
//向服务器发送信息
printWriter.println(etMsg.getText());
//Bufferedreader 接收服务器的数据对象
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
//接受服务器端数据
String serverContext = bufferedReader.readLine();
//TextView设置文本
tvMsg.setText(serverContext);
//关闭服务之间的连接
printWriter.close();
bufferedReader.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
}
AndroidManifest.xml代码:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lzq.client"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<!-- 给用户注册INTERNET 权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".SocketClientActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
资源里面有源文件:http://download.csdn.net/detail/lzq_it/3847322