Guten Abend
Habe das problem das ich im Localen den verlauf angezeigt dekomme aber nicht im www
woran könnte das liegen ?
Guten Abend
Habe das problem das ich im Localen den verlauf angezeigt dekomme aber nicht im www
woran könnte das liegen ?
Ich hab das Problem, dass ich keinen Quellcode sehe... woran könnte das liegen? ![]()
ja sry
hier der server
#include <date.au3>
; Starten von TCP
TCPStartup()
$serverIP = 'meine dyndns' ; normalerweise die IP des Servers
$serverport = 7660
$srvSocket = TCPListen($serverIP,$serverport)
[/autoit] [autoit][/autoit] [autoit]#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Server Kontrolle", 625, 443, 700, 50)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 593, 417)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$con = TCPAccept($srvSocket)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If $con >=0 Then
$rev = ''
$clientIP = SocketToIP($con)
ConsoleWrite(@LF & $clientIP)
While True
$rev &= TCPRecv($con,2048)
If @error Then ExitLoop
WEnd
If StringLeft($rev,8) = 'MSGPORT#' Then
$sp = StringSplit($rev,'#')
$cltSocket = TCPConnect($clientIP,$sp[UBound($sp) - 1])
If $clientIP <> -1 Then
TCPSend($cltSocket,GUICtrlRead($Edit1))
TCPCloseSocket($cltSocket)
EndIf
ElseIf $rev <> '' Then
$str = GUICtrlRead($Edit1)
$str &=_Now() & @TAB & $rev & @CRLF
GUICtrlSetData($Edit1,$str)
EndIf
EndIf
Sleep(50)
WEnd
; Funktion um die IP Adresse eines verbundenen Sockets wiederzugeben.
;----------------------------------------------------------------------
Func SocketToIP($SHOCKET)
Local $sockaddr, $aRet
$sockaddr = DllStructCreate("short;ushort;uint;char[8]")
[/autoit] [autoit][/autoit] [autoit]$aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
"ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
If Not @error And $aRet[0] = 0 Then
$aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
If Not @error Then $aRet = $aRet[0]
Else
$aRet = 0
EndIf
$sockaddr = 0
[/autoit] [autoit][/autoit] [autoit]Return $aRet
EndFunc ;==>SocketToIP
uund hier der client
$ip = '@IPAddress1' ; normalerweise @IPAddress1
$port =7662
$serverIP = 'meine dyndns' ; normalerweise die IP des Servers
$serverport = 7660
; Starten von TCP
TCPStartup()
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Chat Client 2", 625, 336, 10, 360)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 601, 281, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_HSCROLL, $WS_VSCROLL))
;GUICtrlSetData(-1, "Edit1")
$Input1 = GUICtrlCreateInput("", 24, 304, 497, 21)
$Button1 = GUICtrlCreateButton("Senden", 528, 304, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$mySocket = TCPListen($ip,$port)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$con = TCPAccept($mySocket)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
; Sitzung aufbauen
$srvSocket = TCPConnect($serverIP, $serverport)
; Bei einem Fehler Skript beenden
If $srvSocket = -1 Then Exit
; Daten senden
TCPSend($srvSocket, GUICtrlRead($Input1))
; Sitzung schliessen
TCPCloseSocket($srvSocket)
empfang()
EndSwitch
If $con >=0 Then
$rev = ''
While True
$rev &= TCPRecv($con,2048)
If @error Then ExitLoop
WEnd
If $rev <> '' Then
$str = $rev
GUICtrlSetData($Edit1,$str)
EndIf
EndIf
Sleep(50)
WEnd
[/autoit] [autoit][/autoit] [autoit]Func empfang()
$srvSocket = TCPConnect($serverIP, $serverport)
; Bei einem Fehler Skript beenden
If $srvSocket = -1 Then Exit
; Daten senden
TCPSend($srvSocket, 'MSGPORT#' & $port)
; Sitzung schliessen
TCPCloseSocket($srvSocket)
MsgBox(48,"Vielen Dank","Vielen Dank,Admin wurde benachrichtigt","2")
EndFunc
; Beenden von TCP
TCPShutdown()
Hallo Detroit49,
ich schätze dein Problem liegt unter dem verwendeten Server.
es ist meines Wissens nicht möglich über einen Weblink zu connecten d.h. (http://www.dyndns.com) funktioniert NICHT.
Ich habe dir den Tipp gegeben es mal über Dyndns zu versuchen, um an die Aktuelle IP zu kommen ABER du musst sie natürlich erst mal dir holen,
bin mir nicht sicher ob es über TCPNametoIP Funktioiniert.. andernfalls sollte dir die IE.au3 weiterhelfen.
EDIT TCPNameToIP geht..
[autoit]TCPStartup()
$examplehost="www.google.de"
$examplehost_ip=TCPNameToIP($examplehost)
MsgBox(1,$examplehost,$examplehost_ip)
Gruß Marvin
habe eine ip von no-ip.org
jetzt habe ich es verstanden aber habe keine ahnung wie ich das im script verbauen muss,könnte mir vllt jmd helfen ?
Detroit49, an deiner Stelle würde ich erst mal einen funktionierenden Chat für dein LAN bauen und sobald der gut funktioiniert und du auch die darin verwendeten Funktionen
auch verstehst, und nicht aus anderen Scripten einfach übernommen hast .. dann würde ich mich daran machen den Chat auf das WWW zu updaten..
Es müssen viele Dinge voreingestellt ein damit dass alles geht Z.B. "Port forwarding" dein Router muss doch wissen an welchen Rechner und auch auf welchem Port das Packet hinmuss usw..
also meine Empfehlung erst mal alles für das LAN bauen und im nachhinein umbauen .
Gruß Marvin
ZitatDetroit49, an deiner Stelle würde ich erst mal einen funktionierenden Chat für dein LAN bauen und sobald der gut funktioiniert
Im Lan funktioniert er ja !Im WWW auch nur der verlauf wird nicht angezeigt im client,was wiederum im Lan geht
Zitatund du auch die darin verwendeten Funktionen
auch verstehst, und nicht aus anderen Scripten einfach übernommen hast ..
Wiso das rad neuerfinden?
ZitatEs müssen viele Dinge voreingestellt ein damit dass alles geht Z.B. "Port forwarding" dein Router muss doch wissen an welchen Rechner und auch auf welchem Port das Packet hinmuss usw..
Dns ist alles im router eingestellt !!
Hier der client
$ip = @IPAddress1 ; normalerweise @IPAddress1
$port = 7661
$serverIP = '00.00.00.000' ; normalerweise die IP des Servers
$serverport = 7660
; Starten von TCP
TCPStartup()
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Chat Client 1", 625, 336, 10, 10)
$Edit1 = GUICtrlCreateEdit("", 16, 16, 601, 281, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_READONLY, $ES_WANTRETURN, $WS_HSCROLL, $WS_VSCROLL))
;GUICtrlSetData(-1, "Edit1")
$Input1 = GUICtrlCreateInput("", 24, 304, 497, 21)
$Button1 = GUICtrlCreateButton("Senden", 528, 304, 89, 25, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$mySocket = TCPListen($ip,$port)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$con = TCPAccept($mySocket)
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
; Sitzung aufbauen
$srvSocket = TCPConnect($serverIP, $serverport)
; Bei einem Fehler Skript beenden
If $srvSocket = -1 Then Exit
; Daten senden
TCPSend($srvSocket, GUICtrlRead($Input1))
; Sitzung schliessen
TCPCloseSocket($srvSocket)
empfang()
EndSwitch
If $con >=0 Then
$rev = ''
While True
$rev &= TCPRecv($con,2048)
If @error Then ExitLoop
WEnd
If $rev <> '' Then
$str = $rev
GUICtrlSetData($Edit1,$str)
EndIf
EndIf
Sleep(50)
WEnd
[/autoit] [autoit][/autoit] [autoit]Func empfang()
$srvSocket = TCPConnect($serverIP, $serverport)
; Bei einem Fehler Skript beenden
If $srvSocket = -1 Then Exit
; Daten senden
TCPSend($srvSocket, 'MSGPORT#' & $port)
; Sitzung schliessen
TCPCloseSocket($srvSocket)
EndFunc
; Beenden von TCP
TCPShutdown()