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)
endSee example in test/ directory for more.