Lieber Besucher, herzlich willkommen bei: Banana-Coding.com - Java Knuddels Emulator. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.
Soweit war ich auch schon
Zitat
wie wäre es mit der idee: es über die datenbank laufen zu lassenalso die nachrichten
klar über die DatenbankDieser Beitrag wurde bereits 1 mal editiert, zuletzt von »uncopyable« (29. Juli 2011, 12:37)
Soweit war ich auch schon
Zitat
wie wäre es mit der idee: es über die datenbank laufen zu lassenalso die nachrichten
klar über die Datenbank
wie überprüfst du die Datenbank auf neue Nachrichten? jede 2 sec mit nem Timer? oder?
|
|
Java-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
package handler; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import knuddels.Client; import knuddels.Server; import tools.KCodeParser; import tools.database.ConnectionPool; import tools.database.PoolConnection; import tools.popup.Popup; /** * * @author uncopyable */ public class MessageHandler { public static void handle(String[] tokens, Client client) { if (tokens[1].equals("msent")) { String empfänger = tokens[3]; String sender = client.getName(); String betreff = tokens[4]; String message = tokens[5]; String wert; message = KCodeParser.parse(message,client.isModerator(), 5, 10, 20); message = Server.get().parseSmileys(message); wert = sender + " " + betreff + " " + message + " "; PoolConnection pcon = ConnectionPool.getConnection(); PreparedStatement ps = null; try { Connection con = pcon.connect(); ps = con.prepareStatement("UPDATE `accounts` SET `message` = ? WHERE `name` = ?"); ps.setString(1, wert); ps.setString(2, empfänger); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e) { } } pcon.close(); } client.sendButlerMessage(client.getChannel().getName(), String.format("Ich werde es nicht vergessen und _°>_h%s|/serverpp "<r°_ schnellstmöglich ausrichten.", empfänger)); String recipient = empfänger; String[] recipients = recipient.split(","); List<Client> targets = new ArrayList<Client>(); Client target; for (String rcp : recipients) { rcp = KCodeParser.escape(rcp); if (rcp.isEmpty()) { continue; } target = Server.get().getClient(rcp); if (target == null) { } else if (!targets.contains(target)) { targets.add(target); } } if (targets.isEmpty()) { return; } Server.get().getButler().sendPrivateMessage(targets, String.format("_°>_h%s|/serverpp "<r°_ hat dir gerade Post geschrieben. Du kannst sie mit _°BB>finger.b.gif<>/m|/m<r°_ abholen.", sender), Server.get().getClient(empfänger).getChannel(), false); } } } |
|
|
Java-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
} else if (cmd.equals("m")) { if (arg.equals("")) { client.wait = false; PoolConnection pcon = ConnectionPool.getConnection(); PreparedStatement ps = null; try { Connection con = pcon.connect(); ps = con.prepareStatement("SELECT * FROM `accounts` WHERE `name` = ?"); ps.setString(1, client.getName()); ResultSet rs = ps.executeQuery(); if (rs.next()) { String wert = rs.getString("message"); if (wert.isEmpty()){ client.sendButlerMessage(client.getChannel().getName(), "Es liegen leider keine Nachrichten für dich vor."); } else { String temp[]; temp = wert.split(" "); String sender = temp[0]; String betreff =temp[1]; String messag = temp[2]; StringBuilder whois = new StringBuilder(); messag = KCodeParser.parse(messag,client.isModerator(), 5, 10, 20); messag = Server.get().parseSmileys(messag); whois.append("Eine Nachricht wurde für dich hinterlegt:##"); whois.append(String.format("_Von_:°%%25°°>_h%s|/serverpp "<r°°%%00#°", sender)); whois.append(String.format("_Gesendet_:°%%25°%s°%%00°#", "01.08.2011")); // datum whois.append(String.format("_Betreff_:°%%25°%s°%%00°##", betreff)); whois.append(messag); // hier noch antworten, antworten mit zitat weiterleiten usw.. String popup = Popup.create("Dein Briefkasten", "Dein Briefkasten", whois.toString(), 550, 400); client.send(popup); PoolConnection pcon1 = ConnectionPool.getConnection(); PreparedStatement ps1 = null; try { Connection con1 = pcon1.connect(); ps1 = con.prepareStatement("UPDATE `accounts` SET `message` = ? WHERE `name` = ?"); ps1.setString(1, ""); ps1.setString(2, client.getName()); ps1.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e) { } } pcon.close(); } } } } catch (SQLException e) { e.printStackTrace(); } finally { if (ps != null) { try { ps.close(); } catch (SQLException e) { } } pcon.close(); } } if (!arg.isEmpty()) { Popup popup = new Popup("Eine /m schreiben", "Eine /m schreiben", "", 430, 16); Panel panel1 = new Panel(); TextField textField = new TextField(53,arg); TextArea textArea = new TextArea(15,65,""); TextField textField1 = new TextField(53,"Re"); panel1.addComponent(new Label("An (Nick):")); panel1.addComponent(textField); popup.addPanel(panel1); Panel panel2 = new Panel(); panel2.addComponent(new Label("Betreff: ")); panel2.addComponent(textField1); popup.addPanel(panel2); Panel panel3 = new Panel(); panel3.addComponent(new Label("Nachricht: ")); popup.addPanel(panel3); Panel panel4 = new Panel(); panel4.addComponent(textArea); popup.addPanel(panel4); Panel panel5 = new Panel(); Button button = new Button("Senden"); button.enableAction(); panel5.addComponent(button); panel5.addComponent(new Button("Schließen")); popup.addPanel(panel5); popup.setOpcode(ReceiveOpcode.MMessage.getValue(), "msent"); client.send(popup.toString()); } |