module Socket::Server

Direct including types

Defined in:

Instance Method Summary

Instance Method Detail

abstract def accept : Socket #

Accepts an incoming connection and returns the client socket.

If the server is closed after invoking this method, an IO::Error (closed stream) exception must be raised.


def accept(&block) #

Accepts an incoming connection and yields the client socket to the block. Eventually closes the connection when the block returns.

Returns the value of the block. If the server is closed after invoking this method, an IO::Error (closed stream) exception will be raised.

require "socket"

server = TCPServer.new(2202)
server.accept do |socket|
  socket.puts Time.now
end

abstract def accept? : Socket? #

Accepts an incoming connection and returns the client socket.

Returns nil if the server is closed after invoking this method.


def accept?(&block) #

Accepts an incoming connection and yields the client socket to the block. Eventualy closes the connection when the block returns.

Returns the value of the block or nil if the server is closed after invoking this method.

require "socket"

server = UNIXServer.new("/tmp/service.sock")
server.accept? do |socket|
  socket.puts Time.now
end