Multi- Chat erstes release

  • Hab selber mal ein Chatprogramm geschrieben (Hat aber leider nicht so ganz gefunzt ;( ). Ich überlasse dir mal ein paar von meinen Ideen. Dazu brauchst du nur einen Benutzer bei ohost.de oder verglichbarem:
    Server auslesen:

    Spoiler anzeigen
    [autoit]

    ;!!!!!!!!!!!!!!!!!
    Global $open = _FTP_Open("ohost")
    Global $ohost_name = "?"
    Global $ohost_benutzer = "?"
    Global $ohost_pass = "?"
    ;!!!!!!!!!!!!!!!!!

    [/autoit] [autoit][/autoit] [autoit]

    _GetIP()
    If @error Then
    Do
    _GetIP()
    Sleep(10000)
    Until Not @error
    EndIf
    $msgn = MsgBox (4,"Server erstellen?","Wollen sie einen Server erstellen?")
    If $msgn == 6 Then _serverstart()
    If $msgn == 7 Then

    [/autoit] [autoit][/autoit] [autoit]

    $conn = _FTP_Connect($open,$server,$ohost_benutzer,$ohost_pass)
    If @error Then
    For $i = 1 To 10
    $conn = _FTP_Connect($open,$server,$ohost_benutzer,$ohost_pass)
    If Not @error Then ExitLoop
    Next
    If @error Then
    MsgBox(0,"","Verbindungsfehler")
    Exit
    EndIf
    EndIf
    InetGet("http://" & $ohost_name & ".ca.ohost.de/Chatprog/IPs.ini",@TempDir & "\IPs.ini")

    [/autoit] [autoit][/autoit] [autoit]

    $IPs = IniReadSection(@TempDir & "\IPs.ini","IPs")
    $Names = IniReadSection(@TempDir & "\IPs.ini","Names")
    If @error Then
    _initserv()
    Else
    _initclient()
    EndIf
    EndIf

    [/autoit]

    Die Funktionen:

    Spoiler anzeigen
    [autoit]

    Func _initclient()
    $Form1 = GUICreate("Verbinden mit Server", 323, 110, 192, 124)
    $Label1 = GUICtrlCreateLabel("Verbinden mit:", 16, 24, 106, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Combo1 = GUICtrlCreateCombo("Server", 144, 24, 145, 25,$CBS_DROPDOWNLIST)
    For $i = 1 To $Names[0][0]
    GUICtrlSetData($Combo1,$i & ": " & $Names[$i][1])
    Next
    $Button1 = GUICtrlCreateButton("OK", 40, 72, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Abbrechen", 184, 72, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    ;FileDelete(@TempDir & "\IPs.ini")
    Exit
    Case $nMsg = $Button2
    ;FileDelete(@TempDir & "\IPs.ini")
    Exit
    Case $nMsg = $Button1
    $comb = GUICtrlRead($Combo1)
    If $comb == "Server" Then
    MsgBox(0,"!","Wählen sie einen Server aus!")
    Else
    GUIDelete($Form1)
    $split = StringSplit($comb,":")
    _Chatprog($IPs[$split[1]][1])
    FileDelete(@TempDir & "\IPs.ini")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndSelect
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _initserv()
    $msgb = MsgBox(3,"!","Keiner Online! Wollen sie einen Eigenen Server starten?")
    If $msgb == 7 Then Exit
    If $msgb == 6 Then _serverstart()
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _serverstart()
    ;...
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func _Chatprog($ip)
    ;...
    EndFunc

    [/autoit]
    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • Hab deswegen noch ein programm geschrieben, dass alle Verbindungen überprüft und die löscht, mit denen man sich nicht mehr verbinden kann... Ich glaub das ist beim PC neuinstallieren/formatieren verloren gegangen :pinch:

    Spoiler anzeigen

    Grundkenntnisse in: C++, JavaScript
    Sehr gute Kenntnisse: PHP, JAVA, C und näturlich AutoIt


    Klaviatur, Anhang UDF, GDI+ Mühle

    Zitat

    "Wenn einen um 20h der Pizzadienst anruft und fragt, ob man's nur vergessen hat und ob man das gleiche
    möchte wie immer -- dann sollte man sein Bestellverhalten evtl überdenken"

  • joa ... ich werd das jetzt so ähnlich machen ^^

    Client lädt eine liste runter und überprüft ob die server aktiv sind ( anpingen ) und sucht sich die richtigen raus.
    Das mit der serverliste dann mit php ... ftp is mir zu unsicher

    Hm... das wird aber nicht funktionieren ... was wenn der Server sich anpingen lässt, aber kein chatserver läuft 8|

    Wenn ich wirderum eine ping funktion, die das ausschließt in mein prog. einbaue lässt sich der server flooden ....

  • es ist so weit ... release nr. 1 :)

    wär nett wenn jemand es übers internet für mich testet

    Danke an alle die mitgeholfen haben

    bitte bugs un meinungen auflisten

    ich brauchte unbedingt einen host für einen "offiziellen" server
    der server zieht kaum traffic und cpu auslastung gegen 0, von arbeitsspeicher ganz zu schweigen


    Greez

    Bitte den Server NICHT eintragen lassen, wenn keine Ports geöffnet sind!!!

  • ähm bei den source dateien kommt ne 404 page ;)
    bitte prüfe nochmal ob die datein aufn server sind

  • Öhm... Funktioniert nicht wirklich?
    Ich meine, das Verbinden u.s.w. funktioniert alles.
    Hab mich mal Admin gemacht und gleich /say <Nachricht> ausprobiert.
    Muss da die Nachricht die man schreiben will in <> geschrieben werden?
    Weil habs nur anders ausprobiert ( /say Test ) ... das hat nicht geklappt.
    Dann beim Server schließen gibt's 'nen AutoIt-Error (Variable used without being declared) und
    beim Client schließen kommt eine MsgBox (Es ist ein Schwerwiegender Fehler aufgetreten)...
    Würd' mir das ganze ja mal anschauen, aber der Link zum Sourcecode funktioniert ja nicht.

  • der link zum sourcecode funktioniert 8| /edit: omg ich hab server und client klein geschrieben
    ja es muss /say <blablabla>
    das restliche ist mir auch schon aufgefallen ... komischerweise tritt es nur auf, wenn man schon einmal mit einerm server verbunden hat / schon mal verbunden wurde


    Greez