18-11-2014, 10:29 PM
Tengo a precisare che prima di affrontare quest'argomento è meglio sapere un minimo di teoria sennò gli script che programmerete resteranno sempre mediocri.
Le funzioni che vi occorreranno sono TCPSend, TCPConnect, TCPListen, TCPAccept, TCPSend, TCPRead, TCPStartup, TCPShutdown, TCPCloseSocket.
Le uso ora quasi tutte per un programmino molto semplice che legge e scrive dati dato ip e porta di connessione.
potete copiarla ovunque, ma almeno inserite il nome del foro
Le funzioni che vi occorreranno sono TCPSend, TCPConnect, TCPListen, TCPAccept, TCPSend, TCPRead, TCPStartup, TCPShutdown, TCPCloseSocket.
Le uso ora quasi tutte per un programmino molto semplice che legge e scrive dati dato ip e porta di connessione.
Codice:
HotKeySet("{F1}","Esci") ;premendo F1 avvio la funzione Esci
TCPStartup() ;sempre necessario per avviare il servizio TCP
local $ip = @IPAddress1 ;inizializziamo la variabile che contiene l'ip,
;ho messo la macro @IPAddress1 per esempio, ma voi
;potete mettere qualsiasi IP
local $porta = 1337 ;idem ma con la porta, non per forza la 1337
Global $socket = TCPConnect($ip,$porta) ;creo il socket di rete
if $socket = -1 Then ;se il socket non riesce a connettersi
Exit ;non c'è connessione e si chiude
Else
_Scrittura()
_Lettura()
EndFunc
Func Scrittura()
While 1 ;metto in un ciclo così per ripetere all'infinito l'operazione
;quindi in ogni momento posso inviare/ricevere dati
TCPSend($socket,InputBox("Che devo inviare?","Scrivi..","") ;per inviare dati
WEnd
EndFunc
Func Lettura()
While 1
Global $pacchetto_entrata = TCPRecv($socket, 2048) ;per leggere dati
If $pacchetto_entrata <> "" Then ;se mi arriva un pacchetto NON vuoto
MsgBox(64,"Dati in entrata!",$pacchetto_entrata)
EndIf
WEnd
EndFunc
Func Esci()
Exit
EndFunc
potete copiarla ovunque, ma almeno inserite il nome del foro