mercredi 29 avril 2015
C# Server - Android Client
Posted on 01:13 by verona
Hallo liebes Forum,
ich hatte mich vor Jahren schonmal mit Java und Android auseinandergesetzt, aber das ist leider schon wieder in Vergessenheit geraten. In letzter Zeit habe ich mich hauptsächlich mit C# und Java befasst.
Nun zu meinem Problem.
Ich habe eine C# Serverapplikation am Laufen, mit der der Android Client per WLAN kommunizieren soll. Das ist alles kein Problem. Ich kann Verbindungen aufbauen und schließen. Das Senden von Nachrichten an den Server ist auch kein Problem. Die Antwort wird vom Server gesendet, aber der Client kann Sie nicht einlesen.
Ich habe bei einem C#-Client geschaut und wollte dies so übernehmen - natürlich nicht 1 zu 1 -, musste aber aufgrund der Fehlenden Java-Kenntnisse passen.
Hier mal mein Code (er ist sehr unaufgeräumt und bestimmt noch optimierbar - aber bin schon froh, dass es so klappt):
ich hatte mich vor Jahren schonmal mit Java und Android auseinandergesetzt, aber das ist leider schon wieder in Vergessenheit geraten. In letzter Zeit habe ich mich hauptsächlich mit C# und Java befasst.
Nun zu meinem Problem.
Ich habe eine C# Serverapplikation am Laufen, mit der der Android Client per WLAN kommunizieren soll. Das ist alles kein Problem. Ich kann Verbindungen aufbauen und schließen. Das Senden von Nachrichten an den Server ist auch kein Problem. Die Antwort wird vom Server gesendet, aber der Client kann Sie nicht einlesen.
Ich habe bei einem C#-Client geschaut und wollte dies so übernehmen - natürlich nicht 1 zu 1 -, musste aber aufgrund der Fehlenden Java-Kenntnisse passen.
Hier mal mein Code (er ist sehr unaufgeräumt und bestimmt noch optimierbar - aber bin schon froh, dass es so klappt):
Java Code:
-
-
package com.lakj.comspace.simpletextclient;
-
-
import java.io.BufferedReader;
-
import java.io.IOException;
-
import java.io.InputStream;
-
import java.io.InputStreamReader;
-
import java.io.PrintWriter;
-
import java.net.Socket;
-
import java.net.UnknownHostException;
-
-
import android.app.Activity;
-
import android.app.AlertDialog;
-
import android.graphics.Color;
-
import android.os.AsyncTask;
-
import android.os.Bundle;
-
import android.view.Menu;
-
import android.view.View;
-
import android.widget.Button;
-
import android.widget.EditText;
-
import android.widget.TextView;
-
-
public class SlimpleTextClientActivity extends Activity {
-
-
private EditText textField;
-
private TextView textView;
-
-
return client;
-
}
-
-
this.client = client;
-
}
-
-
return connect;
-
}
-
-
this.connect = connect;
-
}
-
-
@Override
-
protected void onCreate(Bundle savedInstanceState) {
-
super.onCreate(savedInstanceState);
-
setContentView(R.layout.activity_slimple_text_client);
-
-
connect = false;
-
-
textField = (EditText) findViewById(R.id.editText1); // reference to the text field
-
textView = (TextView) findViewById(R.id.textView1);
-
-
-
button_connect.setText("nicht Verbunden");
-
-
// Button press event listener
-
-
SendMessage sendMessageTask = new SendMessage();
-
sendMessageTask.execute();
-
messsage = textField.getText().toString(); // get the text message on the text field
-
textField.setText(""); // Reset the text field to blank
-
-
try {
-
-
while ((temp = in.readLine()) != null) {
-
text.append(temp + "\n");
-
}
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
}
-
textView.setText(text.toString()); // Dort kommt ein leerer String in das TextView
-
}
-
});
-
-
-
-
MyTask connectTask = new MyTask();
-
if (getConnect() != true){
-
button_connect.setText("Verbunden");
-
connectTask.execute();
-
setConnect(true);
-
}
-
else{
-
button_connect.setText("nicht Verbunden");
-
try {
-
connectTask.quit();
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
}
-
setConnect(false);
-
}
-
}
-
});
-
}
-
-
-
try {
-
setClient(client);
-
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
// TODO Auto-generated catch block
-
e.printStackTrace();
-
} // connect to the server
-
return null;
-
}
-
-
-
printwriter.write("quit"); // write the message to output stream
-
-
printwriter.flush();
-
printwriter.close();
-
-
-
getClient().close(); // closing the connection
-
}
-
}
-
-
-
@Override
-
try {
-
-
printwriter.write(messsage); // write the message to output stream
-
-
printwriter.flush();
-
printwriter.close();
-
-
-
-
-
-
-
getClient().close(); // closing the connection
-
-
e.printStackTrace();
-
e.printStackTrace();
-
}
-
return null;
-
}
-
-
}
-
-
@Override
-
// Inflate the menu; this adds items to the action bar if it is present.
-
getMenuInflater().inflate(R.menu.slimple_text_client, menu);
-
return true;
-
}
-
-
}
C# Server - Android Client
Categories: C# Server - Android Client
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire