Also hier erstmal mein Server:
Spoiler anzeigen
HotKeySet("{F5}","_exit")
#include <INet.au3>
#include <GUIConstants.au3>
Dim $szIPADDRESS = _GetIP()
Dim $nPORT = 21219
TCPStartUp()
$MainSocket = TCPListen($szIPADDRESS, $nPORT)
If $MainSocket = -1 Then
MsgBox(0,"Server can´t start","")
Exit
EndIf
Dim $GOOEY = GUICreate("My Server (IP: " & $szIPADDRESS & ")",300,200)
Dim $edit = GUICtrlCreateEdit("",10,10,280,180)
GUISetState()
Dim $ConnectedSocket = -1
Do
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
$ConnectedSocket = TCPAccept($MainSocket)
Until $ConnectedSocket <> -1
Dim $szIP_Accepted = SocketToIP($ConnectedSocket)
Dim $msg, $recv
While 1
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
$recv = TCPRecv( $ConnectedSocket, 2048 )
If $recv <> "" Then GUICtrlSetData($edit, _
$szIP_Accepted & " : " & $recv & @CRLF & GUICtrlRead($edit))
WEnd
Func SocketToIP($SHOCKET)
Local $sockaddr = DLLStructCreate("short;ushort;uint;char[8]")
Local $aRet = DLLCall("Ws2_32.dll","int","getpeername","int",$SHOCKET, _
"ptr",DLLStructGetPtr($sockaddr),"int_ptr",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
Return $aRet
EndFunc
Func _exit()
Exit
EndFunc
Größtens Teils der aus dem Autoit wiki aber hallt shcon leicht zsm geschnitten.
Spoiler anzeigen
#include <GUIConstants.au3>
HotKeySet("{ENTER}","_enter")
TCPStartUp()
Dim $szIPADDRESS=TCPNameToip("xxx . dyndns .org";<---Hier steht meine Dyndns IP hab sie jetzt mal rausgemacht und leerzeichen rein wegem linkt
Dim $nPORT = 21219
Dim $ConnectedSocket = -1
$ConnectedSocket = TCPConnect($szIPADDRESS,$nPORT)
Dim $szData
$Con1=0
If @error then $Con1=1
_CantCon()
Func _CantCon()
If $Con1=1 Then
While 1
MsgBox(0x0,"Cannot Connect","Cant Connect to Server on "&$szIPADDRESS&" on Port "&$nPORT&". New Trying will be started.",4)
Sleep(2500)
$ConnectedSocket = TCPConnect($szIPADDRESS,$nPORT)
If not @error then
ExitLoop
$Con1=0
EndIf
WEnd
EndIf
EndFunc
$GUI=GUICreate("Guiname",400,500)
$Edit=GUICtrlCreateedit("",1,1,399,399)
$Input=GUICtrlCreateInput("",1,400,399,99)
GUISetState()
$Enter=1
Func _Enter()
$Send=GUICtrlRead($Input)
TCPSend($ConnectedSocket,$Send)
If @error Then
$Con1=1
_CantCon()
EndIf
GUICtrlSetData($Input,"")
GUICtrlSetData($Input,"")
EndFunc
While 1
$msg=GUIGetMsg()
If $msg=$GUI_EVENT_CLOSE then Exit
Sleep(1000)
WEnd
Und das der Client.
Wenn ich als IP einfach die Lokale nehme hallt bei Server und Client die 127.0.0.1 gehts. meine Netzwerk ip die 198.0.0.x geht auch.
Nun wenn ich eben jetzt die blabla . dyndns.org adresse eingeben-->kommt mien Server can´t start
bei den IP´s von wieistmeineip.de ebenfalls
bei der IP von Ipconfig /all (dns ip)ebenfalls
und bei _Getip() ebenfals^^
was mache ich nun falsch xD
Port ist freigegeben...
-----------------------
und nun zur Inputbox.
Es soll ein Programm werden mit Person A Server Person B Client. Client B sendet Server A Befehle Server antwortet Client und führt Befehl aus.
um es zu erleichtern wäre die Funktion ja ganz praktisch mit dem String wo er dann nur bestimmmte Zeichen anninmmt. Für mich wären hier Praktisch die Zahlen das - das _ Zeichen und dasn gute Alphabeth sowie leer Zeichen. Nur leider habe ich die Funktion nicht ganz verstanden wurde hier in 2 Beiträgen unter/über mir geschrieben...
naja
schöne Grüße und ich hoffe auf Antwort =)