A TCP socket class : allow you to both connect to a given server and exchange messages or start your own server and wait for connections.

Constructor

new()

Creates a new unconnected socket.

Methods

accept():Tuple2<Socket, Address>

Accept a new connected client. This will return a connected socket on which you can read/write some data.

bind(address:Address):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(addr:Address):Void

Connect to the given server host/port. Throw an exception in case we couldn't successfully connect.

getpeername():Address

Return the information about the other side of a connected socket.

getsockname():Address

Return the information about our side of a connected socket.

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.

recv(n:Int, flags:Int):BytesData

send(d:BytesData, flags:Int):Int

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.

setsockopt(family:Int, option:Int, value:Bool):Void

settimeout(timeout:Float):Void

Gives a timeout after which blocking socket operations (such as reading and writing) will abort and throw an exception.

shutdown(how:Int):Void

Shutdown the socket, either for reading or writing.

waitForRead():Void

Block until some data is available for read on the socket.