Template:Modules/Sockets/Functions: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Replaced content with '* sockOpen * sockWrite * sockClose')
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
This function creates a socket.
* [[Modules/Sockets/sockOpen|sockOpen]]
 
* [[Modules/Sockets/sockWrite|sockWrite]]
==Syntax==
* [[Modules/Sockets/sockClose|sockClose]]
<syntaxhighlight lang="lua">
userdata sockOpen ( string host, int port )
</syntaxhighlight>
 
===Required Arguments===
*'''host:''' This is a host name e.g. "www.google.com"
*'''port:''' This is the port on which to connect e.g. 80
 
===Returns===
Returns ''userdata'' if the correct arguments were given ''false'' otherwise.
 
==Example==
This example shows you how you can connect to irc for 10 seconds.
 
'''PHP:''' (for the page that LUA expects to be at ''<nowiki>http://www.example.com/page.php</nowiki>'')
<syntaxhighlight lang="lua">
local socket = sockOpen("irc.gtanet.com",80)
 
addEventHandler("onSockOpened",getRootElement(),
  function (sock)
      if sock == socket then
        sockWrite(socket,"USER IRCbot botname * :Gamesnert & MCvarial")
        sockWrite(socket,"NICK botname")
        sockWrite(socket,"JOIN #mta")
 
        setTimer(disconnect,10000,1)
      end
  end
)
 
addEventHandler("onSockData",getRootElement(),
  function (sock,data)
      if sock == socket then
        outputServerLog("IRC: "..data)
      end
  end
)
 
addEventHandler("onSockClosed",getRootElement(),
  function (sock)
      if sock == socket then
        outputServerLog("IRC: disconnected!")
      end
  end
)
 
function disconnect ()
  sockClose(socket)
  socket = nil
end
</syntaxhighlight>
 
 
 
'''Important Note''': ''Sockets are asynchronous this means if sockOpen() returns the socket isn't actually created!''
 
==See Also==

Latest revision as of 14:16, 25 April 2010