JAVA服务器端:
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class SocketServer {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建一个serversocket ,用于坚挺客户端socket请求
ServerSocket ss=new ServerSocket(30000);
//采用循环不断接受客户端请求
while(true)
{
//每当接收到客户端socket 的请求,服务器端也长生一个socket
Socket s=ss.accept();
OutputStream os=s.getOutputStream();
os.write("您好,你得到了祝福!\n".getBytes("utf-8"));
//关闭输出流 关闭socket
os.close();
s.close();
}
}
}
Android 客户端:
package xuyan.socket.server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
public class AndroidSocketTestActivity extends Activity {
/** Called when the activity is first created. */
EditText result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
result=(EditText)this.findViewById(R.id.editText1);
try{
//建立连接到远程服务器的socket
Socket socket=new Socket("192.168.0.10",30000);
//将socket对应的输入流包装成bufferreader
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
//进行普通IO操作
String line=br.readLine();
result.setText("接收到的数据为"+line);
br.close();
socket.close();
}
catch(IOException ex)
{
ex.printStackTrace();
}
}
}
注意:要加入访问网络权限:
<uses-permission android:name="android.permission.INTERNET"> </uses-permission>