Erstellen eines einfachen Hello World Android Client-Server-ProgrammsAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Erstellen eines einfachen Hello World Android Client-Server-Programms

Post by Anonymous »

Um es einfach zu halten, versuche ich nur, eine Nachricht von meinem Android -Emulator an einen Java -Konsolenserver auf Eclipse zu senden, der eine einfache Zeichenfolge enthält. Dann möchte ich, dass der Server mit einer anderen Zeichenfolge antwortet. Ich werde eine Verbindung zum Host 10.0.2.2 herstellen und einen beliebigen offenen Port verwenden (in meinem Fall 4000). Der Server erhält jedes Mal, wenn ich auf die Schaltfläche "Verbundene" im Emulator klicke, eine "verbundene" MSG. Ich kann jedoch keine Möglichkeit finden, Pakete oder Nachrichten zu liefern. />import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;

import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

Thread m_objThreadClient;
Socket clientSocket;
TextView serverMessage;
EditText clientMessage;
String sIn, sOut;
ObjectOutputStream oos;
ObjectInputStream ois;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

serverMessage = (TextView) findViewById(R.id.textView1);
clientMessage = (EditText) findViewById(R.id.editText1);

}

public void Start(View view) throws IOException{
final String Text;
String send = " ";
Text = clientMessage.getText().toString();
m_objThreadClient = new Thread( new Runnable(){
public void run()
{
try {
clientSocket = new Socket("10.0.2.2", 4000);
oos = new ObjectOutputStream (clientSocket.getOutputStream());
oos.writeObject(Text);
oos.flush();

} catch (IOException e) {
serverMessage.setText(e.getMessage());
}

}
});
serverMessage.setText(send);

m_objThreadClient.start();

}

}
< /code>

und Server < /p>

import java.net.ServerSocket;
import java.net.Socket;

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;

import java.util.Hashtable;

public class Server2 {

@SuppressWarnings("resource")
public static void main (String[] args) throws IOException {

ServerSocket server = null;
try {
server = new ServerSocket(4000);
} catch (IOException e) {
System.err.println("Could not start up on: " + "4000" + "Maby server is already open? Or a portforwording messup?");
System.err.println(e);
System.exit(1);
}

Socket client = null;
while(true) {
try {
client = server.accept();
System.out.print("connected");
} catch (IOException e) {
System.err.println("Accept failed.");
System.err.println(e);
}

Thread t = new Thread(new ClientConn(client));
t.start();
}
}
}

class ClientConn implements Runnable {
private Socket client;
ObjectInputStream ois;
ObjectOutputStream oos;

ClientConn(Socket client) {
this.client = client;
try {
ois = new ObjectInputStream(client.getInputStream());
String Recv;
Recv = ois.readLine();

oos = new ObjectOutputStream(client.getOutputStream());
oos.writeChars("Welcome");
oos.flush();

oos.close();

} catch (IOException e) {
System.err.println(e);
return;
}
}

public void run() {
String msg, response;
try {
System.out.print("checking");
while ((msg = ois.readLine()) != null) {
System.out.print(msg);
}
} catch (IOException e) {
System.err.println(e);
}
}

public void sendMsg(String msg) throws IOException {
oos.writeChars(msg);
}
}
< /code>

Danke ~ < /p>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post