uhuC
ConnectionCounter - Druckversion

+- uhuC (https://uhuc.de)
+-- Forum: uhuc Classic (https://uhuc.de/forum-43.html)
+--- Forum: Kleinere Projekte (https://uhuc.de/forum-30.html)
+--- Thema: ConnectionCounter (/thread-94.html)



ConnectionCounter - CyD - 08.06.2012

Ich habs mit Kromo mal darüber gehabt, oben rechts auf uhuc.de eine kleine Tabelle zu machen, die die Anzahl der gerade verbundenen Usern für #uhuc, mumble und minecraft anzeigt.

Ich hab hier jetzt 2 kleine Skripte gebastelt, die für Minecraft und Mumble funktionieren sollten (hab sie noch nicht richtig getestet). Für den IRC-Counter müsste ein Bot oder so die Anzahl der User im Channel auslesen.

Funktionsweise:
Der Server ermittelt die Anzahl der TCP-Verbindungen am $port und schreibt diese in ein File. Das File sollte hierbei über HTTP(s) öffentlich zugänglich sein.

Der Client liest die Config aus und läd sich die Informationen herunter. Diese schreibt gebündelt in ein File, welches zb via PHP oder so ausgelesen und in die HP eingefügt werden kann.

Server:
Code:
#!/bin/sh
# Version 0.1
anzahl=0
port=80
file=/tmp/anzahl.txt

anzahl=$(netstat -tn | grep -i ${port} | grep ESTABLISHED | wc -l)
anzahl > file

Client:
Code:
#!/usr/bin/python2
# -*- coding: utf-8 -*-
# Version: 0.1
import os
import sys
import urllib2

path="pfadZurConfig"
outputfile="pfadZumOutput"

# Liest die config
temp = open(path, "r")
config = {}
for line in temp:
    config[ line.split(";")[0] ] = line.split(";")[1]
temp.close()

o = ""
for key in config:
    response = urllib2.urlopen(config[key])
    anzahl = response.read()
    o = key+";"+anzahl+"\n"

f = open('/anyfile','w')
f.write(o)
f.close()

Das Format der Config: name;url\n
Das Format des Outputfiles: name;anzahl\n

Bei Änderungen am Code bitte das komplette Programm (Server und/oder Client) posten.


RE: ConnectionCounter - null - 09.06.2012

Wenn ich mich richtig erinnere, hatten wir eine API mit der man die User in einem Channel anzeigen konnte. Muss da aber v2px fragen, wenn er mal wieder online ist, weil ich keine Ahnung habe, ob es die ueberhaupt noch gibt. :D


RE: ConnectionCounter - Ερεβος - 09.06.2012

Da ja zumindest die MC-bezogenen Daten auf meinem Server gesammelt werden, wäre ich verlockt einfach die gesamte mc.uhuc.de-Seite auf FCGI umzustellen und die Api dann in den entsprechenden Daemon zu integrieren (Abruf dann selbstverständlich per https und evtl. in mc.uhuc.de eingebunden?)


RE: ConnectionCounter - kromonos - 09.06.2012

(09.06.2012, 16:50)Greg10 schrieb: Da ja zumindest die MC-bezogenen Daten auf meinem Server gesammelt werden, wäre ich verlockt einfach die gesamte mc.uhuc.de-Seite auf FCGI umzustellen und die Api dann in den entsprechenden Daemon zu integrieren (Abruf dann selbstverständlich per https und evtl. in mc.uhuc.de eingebunden?)

Cool wäre es schon, wenn man es direkt auf der MC Seite sehen könnte, wie viele Online sind *.*


RE: ConnectionCounter - null - 11.06.2012

Okay, also die Chaninfos kann man jetzt wieder per Web abrufen, der statsserver war nicht gelinkt...

Zu finden sind die hier: http://stats.jdqirc.net/modules.php?name=chaninfo&chan=uhuc

Ist eine Zeile, "Username<br />Username2<br />" etc.
Braucht man also nur ein kleines Script das die zaehlt, oder wie ihr das haben wollt. :)


AW: ConnectionCounter - kromonos - 11.06.2012

Kann man die auch als XML oder json String ab rufen? Das würde die ganze Spielerei sehr viel einfacher und schneller machen und ich brauch nicht mit einem DOM Parser dran gehen.


AW: ConnectionCounter - kromonos - 11.06.2012

Kann man die auch als XML oder json String ab rufen? Das würde die ganze Spielerei sehr viel einfacher und schneller machen und ich brauch nicht mit einem DOM Parser dran gehen.


RE: ConnectionCounter - CyD - 11.06.2012

Mann müsste doch dort nur die Anzahl von "<br />"+1 herausfinden.


RE: ConnectionCounter - null - 11.06.2012

Zitat:Kann man die auch als XML oder json String ab rufen?

Theoretisch waere das wohl moeglich, aber da ist kein HTML drumrum und wie CyD gesagt hat, du musst nur die <br />'s zaehlen (nicht +1, ist immer eins pro User), da muss nichts geparst werden.
Urspruenglich hatten wir das glaube ich mal, um es direkt auf der Webseite einzubinden, darum sind da keine <html><body> tags und so mit drin.


RE: ConnectionCounter - CyD - 11.06.2012

Hoppla.. hab ich wohl das letzte <br> übersehen :-D