This package adds support for torch.SocketFile
and
torch.SocketFileServer
classes in Torch. It is shipped separately from
Torch, as it adds an extra dependency to the socket
package. However, a
torch.SocketFile
is a sub-class of torch.File
and could be used at any
place where a torch.File
is used.
First, you must create a file server with torch.SocketFileServer
:
server = torch.SocketFileServer{
port = 8000, -- arbirary port number
verbose = true
}
print('running on', server:hostname(), 'at port', server:port())
server:loop()
Specify the flag ipv6 = true
if you are running on a ipv6
network.
Then, you can have processes opening some torch.SocketFile
, using the
hostname and port specified above.
file = torch.SocketFile{
hostname = <hostname>, -- specify correct hostname here
port = <port>, -- specify correct port here
filename = "foobar.txt",
mode = "w" -- same modes than torch.DiskFile are supported
}
Specify the flag ipv6 = true
if you are running on a ipv6
network.
The opened file should then support the same methods than torch.DiskFile
.
print("> sending string")
file:writeString("hello world\n")
print("> sending 10 numbers")
for i=1,10 do
file:writeObject(i)
end
See example in test/
directory for more.