Hallo zusammen,
ich habe ein kleines Probleme.. habe keine Idee mehr
Ich versuche eine Nachricht "tAnzeigeZipped" Typ byte[] per TCP zu versenden...
PS: tAnzeigeZipped dahinter steckt ein String das gezippt ist..
Wie kann ich die Daten empfangen ?
Sender ..
Empfaenger..
Vielenn Dank im Voraus.
ich habe ein kleines Probleme.. habe keine Idee mehr
Ich versuche eine Nachricht "tAnzeigeZipped" Typ byte[] per TCP zu versenden...
PS: tAnzeigeZipped dahinter steckt ein String das gezippt ist..
Code:
public byte[] zip(String data) throws IOException {
ByteArrayOutputStream bOut = new ByteArrayOutputStream(data.length());
byte[] bytes = data.getBytes(CHARSET_UTF_8);
// Anzeige in GZipStream stecken
GZIPOutputStream zOut = new GZIPOutputStream(bOut);
zOut.write(bytes);
zOut.close();
bOut.close();
return bOut.toByteArray();
}
Wie kann ich die Daten empfangen ?
Sender ..
Code:
/**
* Holt aus dem Queue die Daten und versenset diese an die Clients
*/
public void run() {
/* Soll Staendig laufen */
while (true) {
try {
Socket tSocket;
OutputStream wr;
while (true) {
byte[] tAnzeigeZipped = fInseratReadyToSendQueue.take();
ConcurrentHashMap<Socket, String> fAngemeldeteClients = IpHolder.getVerfuegbareClients();
// Sind Clients angemeldet ?
if (fAngemeldeteClients.size() > 0) {
Set<Entry<Socket, String>> tEntrySet = fAngemeldeteClients.entrySet();
for (Iterator<Entry<Socket, String>> iterator = tEntrySet.iterator(); iterator.hasNext();) {
Entry<Socket, String> tEntry = iterator.next();
tSocket = tEntry.getKey();
wr = tSocket.getOutputStream();
wr.write(tAnzeigeZipped);
wr.flush();
}
}
}
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Empfaenger..
Code:
private void receiveMessage() {
Socket s;
PrintWriter out;
try {
s = new Socket("localhost", fPortNr);
out = new PrintWriter(new DataOutputStream(s.getOutputStream()));
out.println("1000 START");
out.flush();
do {
} while (true);
} catch (SocketException e) {
Activator.getDefault().logError(e.getMessage(), e);
} catch (IOException e) {
Activator.getDefault().logError(e.getMessage(), e);
}
}
Vielenn Dank im Voraus.