Hilfe! Chat Programm funktioniert nicht
Übersicht

![]() |
hazumu-kunBetreff: Hilfe! Chat Programm funktioniert nicht |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich will jetzt langsam mit den Netzwerk befehlen was programmieren. Und da hab ich zur Übung en Kleiner ChatProgramm das in Server und Client aufgeteilt ist geschrieben.
Aber Es funktionier nur wenn ich beide auf dem selben Computer starte. Über Internet funktioniert es nicht und es sollte eigentlich funktionieren da ich ein php Script von meiner Homepage aufrufe das mir die Net-Ip zurückgibt. Der Server: Code: [AUSKLAPPEN] break$=Chr$(10)+Chr$(13)
port= 194 ;IRC-Port CountHostIPs ("") lanip$= DottedIP$(HostIP(1)) netip$= getip$() Print "Erstelle Server..." server= CreateTCPServer (port) If Not server Then Print "Fehler beim Erstellen des Servers!" : Delay 250 : End Print "Lan Ip ist: "+lanip$ Print "Internet Ip ist: "+netip$ While Not client Print "Warte auf Client... "+lanip$+" / "+netip$ client= AcceptTCPStream (server) Delay 250 Wend Print "Client verbunden!" Print "Sende Bestaetigung..." WriteLine client,"/ok" win=CreateWindow ("Server",50,50,300,200,0,33) sendfield= CreateTextField (5,5,235,20,win) sendbutt= CreateButton ("Senden",245,5,50,20,win) getarea= CreateTextArea (5,30,290,165,win) api_SetForegroundWindow (QueryObject(Win,1)) connected=1 While Not KeyHit(1) If connected Then If ReadAvail(client) Then client_inp$= ReadLine$(client) If client_inp$="/exit" Then AddTextAreaText getarea,"-- Client wurde beendet!-- " CloseTCPStream client connected=0 ElseIf client_inp<>"" AddTextAreaText getarea,"Client: "+client_inp$+break$ WriteLine client,"/ok" EndIf EndIf Select WaitEvent (50) Case $803 End Case $401 Select EventSource() Case sendbutt client_out$= TextFieldText$ (sendfield) AddTextAreaText getarea,"Server: "+client_out$+break$ SetGadgetText sendfield,"" WriteLine client,client_out$ While True If ReadAvail(client) Then client_inp$=ReadLine$ (client) If client_inp$="/ok" Then Exit Else RuntimeError "Protokoll Fehler!" EndIf Else Delay 100 timeout= timeout+1 EndIf If timeout=20 Then RuntimeError "Keine Antwort vom Client!" Wend End Select End Select Else Notify "Verbindung beendet." End EndIf Wend Function getip$() tcp=OpenTCPStream("vikenemesh.bplaced.net",80) If Not tcp Then Return 0 Else WriteLine tcp,"GET http://vikenemesh.bplaced.net/remotescripts/get_ip.php HTTP/1.0" WriteLine tcp,Chr$(10) If Eof(tcp) Then Return 0 Else check= Instr(ReadLine$(tcp),"200") If check<>0 Then Repeat inp$=ReadLine$ (tcp) Until Instr (inp$,"<ip>") inp$=Replace$ (inp$,"<ip>","") inp$=Replace$ (inp$,"</ip>","") Return inp$ Else Return 0 EndIf EndIf EndIf End Function Der Client: Code: [AUSKLAPPEN] break$=Chr$(10)+Chr$(13)
port= 194 ;IRC-Port server_ip$=Input$("Server IP eingeben: ") Print "Verbinde..." server= OpenTCPStream (server_ip$,port) If Not server Then Print "Verbindung konnte nicht hergestellt werden..." : Delay 250 : End Print "Verbindung hergestellt." Print "Warte auf Bestaetigung..." While Not checked If ReadLine$(server)="/ok" Then checked=1 Wend Print "Bereit zum chatten!" win=CreateWindow ("Client - Verbunden mit "+server_ip$,50,50,300,200,0,33) sendfield= CreateTextField (5,5,235,20,win) sendbutt= CreateButton ("Senden",245,5,50,20,win) getarea= CreateTextArea (5,30,290,165,win) api_SetForegroundWindow (QueryObject(Win,1)) connected=1 While Not KeyHit(1) If connected Then If ReadAvail(server) Then server_inp$= ReadLine$(server) If server_inp$="/exit" Then AddTextAreaText getarea,"-- Server wurde beendet!-- " CloseTCPStream server connected=0 ElseIf server_inp<>"" AddTextAreaText getarea,"Server: "+server_inp$+break$ WriteLine server,"/ok" EndIf EndIf Select WaitEvent (50) Case $803 End Case $401 Select EventSource() Case sendbutt server_out$= TextFieldText$ (sendfield) AddTextAreaText getarea,"Client: "+server_out$+break$ SetGadgetText sendfield,"" WriteLine server,server_out$ While True If ReadAvail(server) Then server_inp$=ReadLine$ (server) If server_inp$="/ok" Then Exit Else RuntimeError "Protokoll Fehler!" EndIf Else Delay 100 timeout= timeout+1 EndIf If timeout=20 Then RuntimeError "Keine Antwort vom Server!" Wend End Select End Select Else Notify "Verbindung beendet." End EndIf Wend |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
jetz mal ohne den code anzugucken, sind firewall von PC/router richtig eingestellt? | ||
It's done when it's done. |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Firewall gibt das Programm frei.
Und der irc port(194) ist bei mir frei sonst würde mIRC nicht funktionieren. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Will keiner helfen?
* push * |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Push ist verboten, und wenn keinem was einfällt, dann heißt es nicht, dass niemand helfen will, sondern, dass einfach im Moment niemand was weiß. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab dir doch schon meine Version geschickt. Guck dir das doch mal an...
EDIT zum untern Post von Viken_Emesh um hier nicht alles zuzumüllen: Gestern der Dateitransfer. Aber du bekommst ihn gerne nochmal ![]() |
||
- Zuletzt bearbeitet von Starwar am So, Jan 25, 2009 21:43, insgesamt einmal bearbeitet
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wohin geschickt? email?
Ahh danke. Hilft mir aber immer noch nicht so richtig. Hab jetz mal versucht ein extrem simples Beispiel zu testen. Klappt auch nicht übers inet! Woran liegts das es im LAN funktioniert über's Internet aber nicht. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ping verhält sich zu Pong wie
*push* zu ~GESCHLOSSEN~ |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group