Template:Modules/Sockets/Functions: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 27: Line 27:
         sockWrite(socket,"JOIN #mta")
         sockWrite(socket,"JOIN #mta")


        outputServerLog("IRC: connected!")
         setTimer(disconnect,10000,1)
         setTimer(disconnect,10000,1)
       end
       end

Revision as of 13:19, 25 April 2010

This function creates a socket.

Syntax

userdata sockOpen ( string host, int port )

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 http://www.example.com/page.php)

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")

         outputServerLog("IRC: connected!")
         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


Important Note: Sockets are asynchronous this means if sockOpen() returns the socket isn't actually created!

See Also