| 3ad_Pr0grammer |
| | Ho provato a sviluppare una piccola chat con la guida di misterx.. E' una bozza veloce, non so neanche se funziona. Server: CODICE ;Server ChatB #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #Include <Misc.au3>
TCPStartup()
_Log()
Func _Gui($YourUser, $YourIp, $User, $Socket) Dim $Banned[2]=["000.000.001", "000.000.000"] GUICreate("Server ChatB", 298, 362, 361, 191, 0x80000000+0x00040000) $Edit= GUICtrlCreateEdit("", 0, 0, 297, 329) GUICtrlSetState(-1,$GUI_DISABLE) GUICtrlSetData(-1, "Benvenuto in ChatB"&@CRLF&$YourUser&" si è connesso"&@CRLF&"Ip: "&$YourIp&@CRLF) $Input= GUICtrlCreateInput("", 0, 336, 297, 21) GUISetState(@SW_SHOW)
If $YourIp=$Banned Then TCPSend($Socket,"Banned") EndIf
While 1 If _IsPressed("1B")=1 Then _Exit() If _IsPressed("0D")=1 Then _Send(GUICtrlRead($Input)) EndIf
$Comm=TCPRecv($Socket,2048)
If $Comm <> "" Then _GUICtrlEdit_AppendText($Edit,$YourUser&": "&$Comm&@CRLF) EndIf
WEnd EndFunc
Func _Exit() $Exit=MsgBox(4, "Sicuro?", "Vuoi disconnetterti?") If $Exit=6 Then TCPSend($Socket, "Disconnesso") Exit EndIf EndFunc
Func _Send($Send) If $Send<> "" Then TCPSend($Socket,$Send) GUICtrlSetData($Input,"") GUICtrlSetData($Edit, GUICtrlRead($Edit)&$User&": "&$Send&@CRLF) EndIf EndFunc Func _Log() $User=InputBox("Attenzione","Inserisci l' username da usare", "Server") $Login=MsgBox(4, "Login", "Vuoi connetterti?") If $Login=6 And $User<> "" Then $Listen=TCPListen(@IPAddress1,768)
While 1 $Socket=TCPAccept($Listen) If $Socket <> -1 Then ExitLoop WEnd Else Exit EndIf While 1 $Recv=TCPRecv($Socket,2048) If $Recv <> "" Then $Sp=StringSplit($Recv, "/\/") ExitLoop EndIf WEnd TCPSend($Socket, $User) _Gui($Sp[1], $Sp[2], $User, $Socket) EndFunc Client: CODICE ;Client ChatB #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #Include <Misc.au3> Global $Loop=0 TCPStartup()
_Log()
Func _Gui($YourUser, $User, $Socket) GUICreate("ChatB", 298, 362, 361, 191,0x80000000+0x00040000) $Edit= GUICtrlCreateEdit("", 0, 0, 297, 329) GUICtrlSetState(-1,$GUI_DISABLE) GUICtrlSetData(-1, "Benvenuto in ChatB"&@CRLF&$YourUser&" si è connesso"&@CRLF) $Input= GUICtrlCreateInput("", 0, 336, 297, 21) GUISetState(@SW_SHOW)
While 1 If _IsPressed("1B")=1 Then _Exit() If _IsPressed("0D")=1 Then _Send(GUICtrlRead($Input)) EndIf
$Comm=TCPRecv($Socket,2048)
If $Comm="Crash" Then GUICtrlSetData($Edit, GUICtrlRead($Edit)&"Stai per essere crashato"&@CRLF) Sleep(3000) Exit EndIf
If $Comm="Banned" Then TCPSend($Socket, "E' stato bannato") GUICtrlSetData($Edit, GUICtrlRead($Edit)&"Sei stato bannato."&@CRLF) Sleep(3000) Exit EndIf
If $Comm <> "" Then _GUICtrlEdit_AppendText($Edit,$YourUser&": "&$Comm&@CRLF) EndIf
WEnd EndFunc
Func _Exit() $Exit=MsgBox(4, "Sicuro?", "Vuoi disconnetterti?") If $Exit=6 Then TCPSend($Socket, "Disconnesso") Exit EndIf EndFunc
Func _Send($Send) If $Send<> "" Then TCPSend($Socket,$Send) GUICtrlSetData($Input,"") GUICtrlSetData($Edit, GUICtrlRead($Edit)&$User&": "&$Send&@CRLF) EndIf EndFunc
Func _Log() $User=InputBox("Attenzione","Inserisci l' username da usare") $Login=MsgBox(4, "Login", "Vuoi connetterti?") If $Login=6 And $User<> "" Then $Socket=TCPConnect(@IPAddress1,768) If $Socket=-1 Then MsgBox(16,"Attenzione","Servizio momentaneamente non disponibile",5) Exit EndIf Else Exit EndIf
TCPSend($Socket, $User&"/\/"&@IPAddress1) While 1 $YourUser=TCPRecv($Socket,2048) If $YourUser<> "" Then ExitLoop EndIf If $Loop>300 Then TCPSend($Socket, $User) $Loop=0 EndIf $Loop=$Loop+1 WEnd _Gui($YourUser, $User, $Socket) EndFunc Sicuramente c' è qualche bug..
| | |
| |
|