Article View: ch.network
Article #1222JAVA: CientCounter - wer kann mir helfen?
From: Siegmund Grosse-Honebrink
Date: Thu, 17 Apr 1997 00:00
Date: Thu, 17 Apr 1997 00:00
128 lines
3784 bytes
3784 bytes
Sehr geehrte/-r Leser/-in dieser Mail
Ich habe folgendes Problem: Das Applet "ClientCounter" bringe ich
nicht zur korrekten Ausfuehrung. Im Anhang finden Sie den Quellcode
des Appletts.
Der Verfasser ist unbekannt und es gibt keine naeheren Angaben f�r
allfaellige Parameter-Uebergaben. Angepriesen wird das Applet einfach
als: "Clientcounter zaehlt die Besucher einer Webseite"
Vieleicht ist jemand unter Ihnen, der sich mit JAVA auskennt und mir
einen hilfreichen Rat geben kann.
Es wuerde mich auch freuen, evtl. Hinweise auf andere Client-Counters
zu bekommen, aber nur wenn kein CGI-Script erforderlich ist.
Vielen Dank fuer Ihre Hilfe und
mit freundlichen Gruessen
Siegmund Grosse-Honebrink
--------------Hier beginnt der Quelltext---------------------------
import java.net.*;
import java.io.*;
import java.applet.*;
import java.awt.*;
public class ClientCounter extends Applet implements Runnable {
String msg = "" ;
Thread fetcher = null ;
URL myurl ;
Socket s = null ;
DataInputStream input = null ;
DataOutputStream output = null ;
String filename = null ;
public void init() {
try {
s = new Socket (getDocumentBase().getHost(), 9999 ) ;
input = new DataInputStream(s.getInputStream());
output = new DataOutputStream(s.getOutputStream()) ;
} catch (IOException e) {
e.printStackTrace() ;
System.err.println(e.getMessage()) ;
}
try {
myurl = getDocumentBase() ;
filename = myurl.getFile() ;
output.writeBytes(filename) ;
output.writeByte('\n') ;
} catch (IOException e) {
}
try {
msg = "" ;
while (true) {
synchronized (msg) {
msg = msg + (char) input.readByte() ;
repaint() ;
}
}
} catch (EOFException e) {
} catch (IOException e) {
e.printStackTrace() ;
System.err.println(e.getMessage());
}
// (fetcher = new Thread(this)).start();
}
public void stop() {
try {
if ( fetcher !=null ) {
fetcher.stop() ;
fetcher = null ;
}
if ( s !=null ) {
s.close() ;
s = null ;
}
input = null ;
output = null ;
} catch (IOException e) {
}
}
public void run() { }
public void start() {
(fetcher = new Thread(this)).start();
repaint() ;
}
public void paint(Graphics g) {
Font font1, font2 ;
FontMetrics fontMetrics1 , fontMetrics2 ;
int i, x, y ;
Color mycolor ;
font1 = new java.awt.Font("TimeRoman", Font.PLAIN, 14 ) ;
font2 = new java.awt.Font("System", Font.BOLD, 24 ) ;
fontMetrics1 = getFontMetrics(font1) ;
fontMetrics2 = getFontMetrics(font2) ;
mycolor = new Color(83, 255, 255 ) ;
x = 0 ;
y = fontMetrics2.getHeight() ;
g.setFont( font1 ) ;
g.drawString("You are visitor number ", x, y) ;
x += fontMetrics1.stringWidth("You are visitor number ") ;
g.setFont( font2 ) ;
g.setColor(mycolor) ;
g.drawString(msg, x, y + 3 ) ;
x += fontMetrics2.stringWidth(msg) + 8 ;
g.setFont( font1 ) ;
g.setColor(Color.black) ;
g.drawString("since 2/22/1996", x, y ) ;
}
}
------------------Hier hoert der Quelltext auf------------------------
Technical Details
Message-ID:
<3356651f.6065845@news.bluewin.ch>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII X-Google-Thread: f8cd8,b1db0805c7fe3b30,start X-Google-Attributes: gidf8cd8,public From: sgrosse@bluewin.ch (Siegmund Grosse-Honebrink) Subject: JAVA: CientCounter - wer kann mir helfen? Date: 1997/04/17 Message-ID: <3356651f.6065845@news.bluewin.ch> X-Deja-AN: 235634697 Organization: Unisource Business Networks Newsgroups: ch.network