Little sockets tutorial

From Scriptwiki
Jump to: navigation, search

This tutorial shows how to use sockets to get info from and how to use that info to set the ip in mirc correct. This can be usefull if you've a router and a bnc.

;this is a little tutorial about sockets
;it's about how to connect to with mirc, then take your ip out
;and use that ip to set $ip
;this can be useful if you've a router and a bnc, depending on your mirc settings, mirc will normally
;make $ip your bnc serverip, or your local ip, like

;on connect event, with timer, so if you connect to 3 different servers on start up, it'll only be triggered once :)
on *:connect:{ .timermyip 1 5 myip }

alias myip {
 ;if the socket already is open, close it, you can only have one connection with the same name at the same time
 if ($sock(myip)) { sockclose myip }
 ;to open a socket with name myip to address on port 80
 sockopen myip 80
;this event is triggered on the moment the sockets is opened
on *:sockopen:myip:{
 ;to tell the server which file you want to receive
 sockwrite -n $sockname GET /index.php HTTP/1.0
 sockwrite -n $sockname Host:
 ;this is only needed for a few websites, but it's just more complete to have it ;)
 sockwrite -n $sockname user-agent: Mozilla/??
 sockwrite -n $sockname Connection: Keep-Alive
 sockwrite -n $sockname $crlf
on *:sockread:myip:{
 ;same way as in mirc helpfile with the :nextread
 if ($sockerr > 0) return
 sockread %temp
 if ($sockbr == 0) return
 ;to check if we got the right line, it's pretty easy for this file, but usually more complicated,
 ;use $gettok or variables to get the right line.
 if (<html> isin %temp) {
   ;%temp will contain something like:
   ;<html><head><title>Current IP Check</title></head><body>Current IP Address:</body></html>
   ;an easy way to 'strip' it is with $remove
   var %z = $remove(%temp,<html><head><title>Current IP Check</title></head><body>Current IP Address:,</body></html>)

   ;scon -a is to send a command to all servers mirc is connected to
   scon -a localinfo $chr(10) %z
   scon -a echo 4 -s ip is set to $ip
 goto nextread

;If your knowledge about sockets is still $null or just not enough yet ;), maybe read this tutorial:
; or check /help Sockets

See Also