Difference between revisions of "socket"

(See Also: update internal link (enet => lua-enet))
m
Line 3: Line 3:
 
Implements a [http://w3.impa.br/~diego/software/luasocket/ luasocket] module for TCP/UDP networking.
 
Implements a [http://w3.impa.br/~diego/software/luasocket/ luasocket] module for TCP/UDP networking.
 
The luasocket module is bundled with love binary, but in order to use it, you need to require the module like this:
 
The luasocket module is bundled with love binary, but in order to use it, you need to require the module like this:
<source lang="lua">
 
require("socket")
 
</source>
 
or even better:
 
 
<source lang="lua">
 
<source lang="lua">
 
local socket = require("socket")
 
local socket = require("socket")
 
</source>
 
</source>
  
'''Note:''' Since <s>lua 5.2</s> LÖVE 11.0, the latter method is <s>preferred</s> recommended, as modules will no longer register themselves in the global space, instead they will return a table.
+
== Notes ==
 +
 
 +
Starting with LÖVE 11.0, <code>require("socket")</code> no longer creates a global variable.
 +
 
  
'''Note:''' When using blocking operations (network connect/read/write, or socket.sleep), the whole LÖVE main loop will be blocked, and it is usually a bad idea. So use only non-blocking operations if possible, or use it in a thread.
+
When using blocking operations (network connect/read/write, or socket.sleep), the whole LÖVE main loop will be blocked, and it is usually a bad idea. So use only non-blocking operations if possible, or use it in a thread.
  
 
== Reference Manual ==
 
== Reference Manual ==
Line 22: Line 21:
 
* [[Tutorial:Networking with UDP]]
 
* [[Tutorial:Networking with UDP]]
 
* [[lua-enet]]
 
* [[lua-enet]]
* [https://love2d.org/forums/viewtopic.php?f=5&t=230 LUBE]
+
* [https://github.com/bartbes/love-misc-libs/blob/master/grease/docs.md grease]
 
[[Category:Libraries]]
 
[[Category:Libraries]]
 
{{#set:Description=Module for HTTP, TCP, and UDP networking.}}
 
{{#set:Description=Module for HTTP, TCP, and UDP networking.}}

Revision as of 00:05, 6 April 2021

O.png Since 11.0, LÖVE does fully support non-blocking TCP connections on Windows  


Available since LÖVE 0.5.0
This module is not supported in earlier versions.

Implements a luasocket module for TCP/UDP networking. The luasocket module is bundled with love binary, but in order to use it, you need to require the module like this:

local socket = require("socket")

Notes

Starting with LÖVE 11.0, require("socket") no longer creates a global variable.


When using blocking operations (network connect/read/write, or socket.sleep), the whole LÖVE main loop will be blocked, and it is usually a bad idea. So use only non-blocking operations if possible, or use it in a thread.

Reference Manual

For detailed usage, see the reference manual.

See Also



Other Languages