Posted: Juni 29th, 2011 | Filed under: Programmieren | Tags: code, escape, html, Java-Script, JQuery | 1 Comment »
Leider verfügt jQuery über keine Funktion HTML-Tags zu escapen, also um diese nicht zu interpretieren. Abhilfe verschafft eine sehr einfache Funktion die mittels der JavaScript-Funktion replace arbeitet.
jQuery.escapeHTML = function (text){
return text.replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
}
Aufrufen könnt ihr diese dann wie folgt:
$.escapeHTML("<b>Hallo Welt</b>");
Posted: Juni 21st, 2011 | Filed under: Java, Programmieren | Tags: Beispiel, chat, Example, Java, Mulitcast, MulticastSocket, network, Netzwerk Nachricht, senden, Socket, Tutorial | 2 Comments »
Als ich meinen Netzwerk-Chat jLanChat programmiert habe, musste ich mich intensiv mit diesem Thema beschäftigen. Herkömmlicherweise verwendet man zum versenden von Nachrichten das sogenannte Client-Server Prinzip. Will zum Beispiel PC1 eine Nachricht an PC2 senden so muss PC2 einen Socket öffnen mit dem sich PC1 dann verbindet und über diesen Socket die Nachricht sendet. Will man nun eine Nachrichtenleitung mit mehren PCs aufbauen so benötigt man schnell einen Server, mit dem sich dann alle Clients verbinden und über diesen dann kommunizieren.
Wenn wir die Kommunikation über Multicast (Punkt zu Gruppe) tätigen brauchen wir keinen Server. Denn fast alle Router/Switches unterstützen Multicast.
Alle Teilnehmer verbinden sich mit dem Switch/Router und treten einer Gruppe, in Form einer IP-Adresse und eines Ports (z.B.: 230.0.0.1:4447), bei. Bekommt der Switch/Router jetzt eine Nachricht eines Clients mit der Gruppen-Adresse als Zieladresse vervielfältigt der Switch/Router diese Nachricht und sendet sie an alle die der Gruppe beigetreten sind, auch an den der die Nachricht abgesendet hat. So kann man zum Beispiel einen serverlosen Chat aufbauen. Wenn man’s genau nimmt übernimmt der Switch/Router jetzt unsere Serverfunktion.
Um das Ganze in JAVA zu realisieren muss man folgende Bibliothek ins Projekt einbinden: http://commons.apache.org/lang/
Hier unser Beispiel, Es gibt eine Sender-Klasse und eine Empfänger-Klasse:
Sender
import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; public class Sender { public static void main(String[] args) { // Netzwerk-Gruppe String NETWORK_GROUP = "230.0.0.1"; // Netzwerk-Gruppen Port int NETWORK_GROUP_PORT = 4447; // Client-Port int CLIENT_MULTICAST_PORT = 4446; // Nachrichten-Codierung String TEXT_ENCODING = "UTF8"; try { MulticastSocket socket = new MulticastSocket(CLIENT_MULTICAST_PORT); byte[] message = "Hallo Welt".getBytes(TEXT_ENCODING); // Nachricht an Gruppe senden socket.send(new DatagramPacket(message, message.length , InetAddress.getByName(NETWORK_GROUP) , NETWORK_GROUP_PORT)); } catch (IOException e) { e.printStackTrace(); } } } |
Empfänger
import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; public class Receiver { public static void main(String[] args) { // Netzwerk-Gruppe String NETWORK_GROUP = "230.0.0.1"; // Netzwerk-Gruppen Port int NETWORK_GROUP_PORT = 4447; // Nachrichten-Codierung String TEXT_ENCODING = "UTF8"; InetAddress group; MulticastSocket socket; try { // Gruppe anlegen group = InetAddress.getByName(NETWORK_GROUP); socket = new MulticastSocket(NETWORK_GROUP_PORT); // Gruppe beitreten socket.joinGroup(group); byte[] bytes = new byte[65536]; DatagramPacket packet = new DatagramPacket(bytes, bytes.length); while(true){ // Warten auf Nachricht socket.receive(packet); String message = new String(packet.getData(),0,packet.getLength(), TEXT_ENCODING); System.out.println(message); } } catch (IOException e) { e.printStackTrace(); } } } |
Ich hoffe ich konnte dem ein oder anderen damit helfen.
Das ganze könnt ihr euch als Eclipse Projekt hier herunterladen (inklusive Bibliotheken): Eclipse Projekt – Tutorial Net Send
Posted: Juni 19th, 2011 | Filed under: Software | Tags: einfach, kostenlos, pdf, Reader, schnell, Viewer | No Comments »
Seit längerer Zeit wollte ich mal meinen Lieblings-PDF-Viewer vorstellen. Er hat den Namen SumatraPDF und beschränkt sich auf die wesentlichen Funktionen. Des weiteren ist er sehr schnell, klein, leicht zu bedienen und nicht überladen wie andere PDF-Reader. Leider gibt es ihn nur für Windows. Zum Download geht es hier entlang: http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html
Screenshots
Posted: Juni 18th, 2011 | Filed under: Allgemein, Tutorials | Tags: Adapter, PS2, USB, USB sparen, USB Steckplätze erweitern | No Comments »
Jeder kennt das wahrscheinlich oder hat es schon mal erlebt. Die USB-Anschlüsse im PC reichen nicht und man muss umstecken nur um mal kurz ne Kamera oder ähnliches anzuschließen. Ich habe das Asus M4A87TD EVO Mainboard welches über 8 USB-Anschlüsse verfügt. Klingt nach sehr viel aber dennoch ausreichend für mich oder andere Leute. Maus, Tastatur, externe Festplatte, Drucker, Kamera, Grafik-Tablet, USB-Hub (10m der an meinen Couchtisch und an den Fernseher geht) und eine Funk-Maus und schon sind alle Anschlüsse belegt. Dann kommt jemand und will sich was kopieren oder will dir ein paar Daten zuschieben und schon geht das “Umgestecke” los.
Das hat mich auf die Idee gebracht die alten USB-PS/2-Adapter für meine Maus und meine Tastatur zu verwenden. Siehe da gleich mal 2 USB Steckplätze eingespart. Die Adapter hab ich von meinen zwei Cherry Keyboards. Falls ihr keine solche Adapter rumliegen habt bei Amazon kriegt ihr die schon ab 2.50€.