码迷,mamicode.com
首页 > 移动开发 > 详细

有关android Socket编程 在两个模拟器中实现

时间:2015-03-17 15:52:04      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

  转载请注明:来自http://blog.csdn.net/soulscarrier

   1.打开两个模拟器:

  在命令行中定位到SDk的tools下面,输入emulator -data foo 启动两个模拟器。

  2.确定其中一个作为服务器:

  需要让android模拟器作为服务器之前检测两个模拟器是否正常其命令语句:adb devices 之后在把其中一个设置为服务器。其命令行语句为:telnet localhost +模拟器的名称例如:telnet localhost 5554 :中的“5554”即为模拟器的名称。显示“OK”之后继续执行一下语句:redir add tcp:8192:8191

  3.执行服务器端和客户端代码:

  server:

  public class server extends Activity {

  public static final String SERVERIP = "10.0.2.15";//这个地址其实没有用到

  public static final int SERVERPORT = 8191; //注意这里和上面重定向的配置是有关系的。

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  try {

  ServerSocket serverSocket = new ServerSocket(SERVERPORT);

  while (true) {

  Socket client = serverSocket.accept();

  System.out.println("S: Receiving...\n"+client.getInetAddress());

  client.getInetAddress();

  }

  }catch(Exception e) {

  System.out.println("S: Error");

  e.printStackTrace();

  }

  }

  }

  client:

  public class client extends Activity {

  @Override

  public void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.main);

  try {

  Socket socket = new Socket("10.0.2.2", 8192);//注意这里也是和上面重定向的配置是有关系的。而且这里的地址必须是10.0.2.2

  } catch (UnknownHostException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

  }

  }

  }

  注意:两个程序的AndroidManifest.xml都必须加上下面这个权限:

  

有关android Socket编程 在两个模拟器中实现

标签:

原文地址:http://blog.csdn.net/soulscarrier/article/details/44342403

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!