Skip to content

module Socket::Server

Direct including types

OpenSSL::SSL::Server TCPServer UNIXServer

Methods

abstract #accept : IO

Accepts an incoming connection and returns the client socket.

require "socket"

server = TCPServer.new(2202)
while true
  socket = server.accept
  socket.puts Time.utc
  socket.close
end

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

View source

#accept

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.utc
end
View source

abstract #accept? : IO?

Accepts an incoming connection and returns the client socket.

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

require "socket"

server = TCPServer.new(2202)
while socket = server.accept?
  socket.puts Time.utc
  socket.close
end
View source

#accept?

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 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.utc
end
View source