A UDP socket class
Constructor
Methods
Inherited Variables
Defined by Socket
custom:Dynamic
A custom value that can be associated with the socket. Can be used to retrieve your custom infos after a select
.
Inherited Methods
Defined by Socket
accept():Socket
Accept a new connected client. This will return a connected socket on which you can read/write some data.
bind(host:Host, port:Int):Void
Bind the socket to the given host/port so it can afterwards listen for connections there.
close():Void
Closes the socket : make sure to properly close all your sockets or you will crash when you run out of file descriptors.
connect(host:Host, port:Int):Void
Connect to the given server host/port. Throw an exception in case we couldn't successfully connect.
listen(connections:Int):Void
Allow the socket to listen for incoming questions. The parameter tells how many pending connections we can have until they get refused. Use accept()
to accept incoming connections.
read():String
Read the whole data available on the socket.
Note: this is not meant to be used together with setBlocking(false)
,
as it will always throw haxe.io.Error.Blocked
. input
methods should be used directly instead.
setBlocking(b:Bool):Void
Change the blocking mode of the socket. A blocking socket is the default behavior. A non-blocking socket will abort blocking operations immediately by throwing a haxe.io.Error.Blocked value.
setFastSend(b:Bool):Void
Allows the socket to immediately send the data when written to its output : this will cause less ping but might increase the number of packets / data size, especially when doing a lot of small writes.
setTimeout(timeout:Float):Void
Gives a timeout (in seconds) after which blocking socket operations (such as reading and writing) will abort and throw an exception.
write(content:String):Void
Write the whole data to the socket output.
Note: this is not meant to be used together with setBlocking(false)
, as
haxe.io.Error.Blocked
may be thrown mid-write with no indication of how many bytes have been written.
output.writeBytes()
should be used instead as it returns this information.