创建服务端,一个普通Java程序,在PC端运行
import java.io.IOException;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class SimpleServer {
public static void main(String[] args) throws IOException
{
//创建一个ServerSocket,用于监听客户端Socket的连接请求
ServerSocket ss = new ServerSocket(61111);
//采用循环不断收到客户端Socket的请求,服务器端也对应产生一个Socket
while(true)
{
Socket s = ss.accept();
OutputStream os = s.getOutputStream();
os.write("您好,这是服务端发过来的信息!\n".getBytes("utf-8"));
//关闭输出流,关闭Socket
os.close();
s.close();
}
}
}
接收端运行在Android手机虚拟器上面
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 SimpleClient extends Activity
{
EditText show;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
show = (EditText) findViewById(R.id.show);
//关闭输入流、socket
try
{
Socket socket = new Socket("10.10.56.243" , 61111);
//将Socket对应的输入流包装成BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(socket.getInputStream()));
//进行普通IO操作
String line = br.readLine();
show.setText("来自服务器的数据:" + line);
br.close();
socket.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
最后一定要加上访问互联网的权限
<!-- 授权访问互联网-->
<uses-permission android:name="android.permission.INTERNET"/>
