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

 转载请注明:来自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都必须加上下面这个权限:

  

时间: 2024-10-10 08:38:28

有关android Socket编程 在两个模拟器中实现的相关文章

Android Socket编程学习笔记

通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.在Internet上的主机一般运行了多个服务软件,同时提供几种服务.每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务. 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket.Socket通常用来实现客户方和服务方的连接.Socket是TCP/IP协议的一个十分流行的编程界面,一个Socket由一个IP地址和一个端口号唯一确定. 在java中,Socke

Android Socket编程

花了大概两天的时间,终于把Android的Socket编程给整明白了.抽空和大家分享一下: Socket Programming on Android Socket 编程基础知识: 主要分服务器端编程和客户端编程. 服务器端编程步骤: 1: 创建服务器端套接字并绑定到一个端口上(0-1023是系统预留的,最好大约1024) 2: 套接字设置监听模式等待连接请求 3: 接受连接请求后进行通信 4: 返回,等待赢一个连接请求 客户端编程步骤: 1: 创建客户端套接字(指定服务器端IP地址与端口号) 

Android必备:Android Socket编程的了解与学习整理

看这里:Android必备:Android Socket编程的了解与学习整理 最近学习Android的过程中,由于项目.业务等因素影响,服务端通过Socket进行通信,于是开始学习Socket编程,之前的开发中,很少涉及此 方面的知识学习,本篇就来简单的整理一下,通过Android客户端进行Socket登录的demo,来进行Adnroid Socket编程的学习. 在开始学习之前,先来了解一下Socket,以下内容来自百度百科: 通常也称作"套接字",用于描述IP地址和端口,是一个通信

android编程常见问题-程序在模拟器中不显示

新手编程常见问题: 问题表现:程序运行成功,但是在模拟器中不显示 解决办法:检查项目版本和模拟器版本是否匹配或兼容,如果不匹配,选择和模拟器版本一致 项目版本:右键-Properties-android-target name 和API ,查看版本(图1) 模拟器版本:打开AVD Manager,查看当前使用版本,或者通过Device  查看(图2)           图1           图2

android Socket编程注意点

1.对Socket的操作放在非UI线程内进行 ??在Android应用中,为了保证APP的用户体验,必须对用户的操作尽可能快的做出响应,因此在以前的Android版本中,不建议将耗时的操作放在UI线程中.到Android3.0之后的版本,则是更进一步做了限制,在非UI线程中禁止操作UI,在UI线程中禁止做响应时间长的操作,如联网操作. ?? 如果在UI线程中进行联网操作的话,会抛出NetworkOnMainThread异常,因此,Socket操作必须放在子线程内进行 2.要保持Socekt实例的

TCP/IP之socket编程

socket编程在TCP/IP协议中"IP地址+端口号"就称为socket.首先我们来看看socket API,即TCP/IP协议的应用层编程接口. 我们接下来编写一个简单的客户端/服务器端通信的简单的模型,要遵循以下的方法: 1.创建套接字,我们要用到的函数是socket,以下是它的基本信息 其中,domain参数表明我们要用的协议类型,我们用AF_INET(IPV4),type参数表明协议实现的方式,因为我们都知道,TCP是面向字节流的,因此type就是SOCK_STREAM;pr

Linux下socket编程(转载自http://blog.csdn.net/hguisu/article/details/7445768/)

Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe).命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message).共享存储区(shared memory)和信号量(semaphore)等. 他们都仅限于用在本机进程之间通信.网间进

Linux的SOCKET编程详解(转)

Linux的SOCKET编程详解 1. 网络中进程之间如何通信 进 程通信的概念最初来源于单机系统.由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进 程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如 UNIX BSD有:管道(pipe).命名管道(named pipe)软中断信号(signal) UNIX system V有:消息(message).共享存储区(shared memory)和信号量(semaphore)等. 他们都仅限于用在本机进程之间通信.网间进

iOS从零开始学习socket编程——HTTP1.0服务器端

在前一篇文章<iOS从零开始学习socket编程--HTTP1.0客户端>中已经简单的介绍过了Socket编程和一些基本原理.并且实现了简单的iOS客户端(原文地址:http://blog.csdn.net/abc649395594/article/details/45081567) 这里再简单介绍一下如何使用OC搭建socket的服务器端.虽然这并不是一个好的解决方案,通常我们使用Java或者PHP抑或NodeJS来搭建服务器后台.但是还是有必要了解一下OC的做法,顺便加深对Socket编程