Je souhaite créer un serveur et un client dans 2 Emulator pour écrire et lire des données. Je écrire du code pour le serveur:Connexion de 2 instances d'émulateur sous Android
public class ServerActivity extends Activity {
/** Called when the activity is first created. */
private ServerSocket serverSocket = null;
private TextView tv;
public static final int SERVERPORT = 4444;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv= (TextView) findViewById(R.id.myTextView);
try {
Connect();
} catch (IOException e) {
// TODO Auto-generated catch block
tv.setText("Not connected");
e.printStackTrace();
}
}
public void Connect() throws IOException
{
serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress("10.0.2.15", 4444));
while(true)
{
Socket socket = serverSocket.accept();
tv.setText("Connected...");
}
}
et le code pour le client
public class ClientActivity extends Activity {
/** Called when the activity is first created. */
private Button bt;
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt = (Button) findViewById(R.id.myButton);
tv = (TextView) findViewById(R.id.myTextView);
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
try {
Socket socket = new Socket("10.0.2.2", 4445);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
tv.setText("Error1");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
tv.setText("Error2");
e.printStackTrace();
}
}
});
}
}
Je mis en place une redirection:
telnet localhost 5554
redir add tcp:4445:4444
mais pas la connexion .... S'il vous plaît aidez-moi. Je vous en suis reconnaissant.
Je n'ai jamais trouvé un moyen de le faire. Bonne chance. – Falmarri
@Falmarri: Ce que NickT posté fonctionne très bien! – prolink007