るりまサーチ

最速Rubyリファレンスマニュアル検索!
192件ヒット [1-100件を表示] (0.015秒)
トップページ > クエリ:close[x] > ライブラリ:socket[x]

別のキーワード

  1. cgi close
  2. _builtin close
  3. cgi/session close
  4. zlib close
  5. logger close

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

SOCKSSocket#close -> nil (18103.0)

ソケットを閉じます。

ソケットを閉じます。

Socket.tcp_server_loop(host, port) {|sock,addr| ...} -> () (26.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。

このメソッドはブロックを逐次的に呼び出します。
つまりブ...
...
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# スレッドを使った echo サーバ
# 同時に複数の...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...

Socket.tcp_server_loop(port) {|sock,addr| ...} -> () (26.0)

TCP/IP で host:port で待ち受けるサーバ側のソケットを作成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。

このメソッドはブロックを逐次的に呼び出します。
つまりブ...
...
# 一度に一つのクライアントした取り扱えない
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}

# スレッドを使った echo サーバ
# 同時に複数の...
...注意
require 'socket'

Socket
.tcp_server_loop(16807) {|sock, client_addrinfo|
Thread.new {
begin
IO.copy_stream(sock, sock)
ensure
sock.close
end
}
}

内部的には Socket.tcp_server_sockets で
生成したソケットを Socket.accept_loop で処...

Socket::Constants::SO_LINGER -> Integer (18.0)

Linger on close if data is present。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Linger on close if data is present。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see sys/socket.h(header), getsockopt(2freebsd),
socket
(7linux),Socket::Constants::SOL_SOCKET...

Socket::SO_LINGER -> Integer (18.0)

Linger on close if data is present。 BasicSocket#getsockopt, BasicSocket#setsockopt の第2引数(optname)に使用します。

...Linger on close if data is present。
BasicSocket#getsockopt, BasicSocket#setsockopt
の第2引数(optname)に使用します。

@see sys/socket.h(header), getsockopt(2freebsd),
socket
(7linux),Socket::Constants::SOL_SOCKET...

絞り込み条件を変える

Socket.unix_server_loop(path) {|socket, client_addrinfo| ... } -> () (14.0)

Unix サーバソケットを生成し、 新しい接続を受け入れるごとにブロックを呼び出します。

...表す Addrinfo オブジェクトが渡されます。

ブロックの実行が終わってもソケットは close されません。
アプリケーション側が明示的に close する必要があります。

path という名前のファイルが既に存在するときは、
そのファ...
...全です。
つまり、 /tmp/malicious-users-directory/socket という名前のパスは
使うべきではありません。
/tmp にスティッキービットが立っている場合、/tmp/socket
/tmp/your-private-directory/socket というパス名は安全と考えて良いでしょう...

TCPServer (14.0)

TCP/IP ストリーム型接続のサーバ側のソケットのクラスです。

...ットを利用したサーバのプログラミングができます。

例えば echo サーバは以下のようになります。

require "socket"

gs = TCPServer.open(0)
socks = [gs]
addr = gs.addr
addr.shift
printf("server is on %s\n", addr.join(":"))

while true
nsock...
...s.eof?
print(s, " is gone\n")
s.close
socks.delete(s)
else
str = s.gets
s.write(str)
end
end
end
end

Thread を使えばもっと短くなります。

require "socket"

gs = TCPServer.open(0)
addr = gs.addr
add...
...r.shift
printf("server is on %s\n", addr.join(":"))

while true
Thread.start(gs.accept) do |s| # save to dynamic variable
print(s, " is accepted\n")
while s.gets
s.write($_)
end
print(s, " is gone\n")
s.close
end
end...

BasicSocket#getpeereid -> [Integer, Integer] (8.0)

Unix ドメインソケットにおいて接続相手の euid と egid を 返します。

...です。

require 'socket'

Socket
.unix_server_loop("/tmp/sock") {|s|
begin
euid, egid = s.getpeereid

# Check the connected client is myself or not.
next if euid != Process.uid

# do something about my resource.
ensure
s.close
end
}...

BasicSocket#recv(maxlen, flags = 0) -> String (8.0)

ソケットからデータを受け取り、文字列として返します。 maxlen は受け取る最大の長さを指定します。 flags については recv(2) を参照してください。flags の デフォルト値は 0 です。flags の指定に必要な定数は Socket クラスで定義されています。(例: Socket::MSG_PEEK)

...は recv(2) を参照してください。flags の
デフォルト値は 0 です。flags の指定に必要な定数は
Socket
クラスで定義されています。(例: Socket::MSG_PEEK)

内部で呼び出す recv(2) が 0 を返した場合、このメソッドは "" を返します。
この...
...@raise Errno::EXXX recvfrom(2) がエラーになった場合などに発生します。

例:

require 'socket'

s1, s2 = UNIXSocket.pair
s1.write "a"
s1.close
p s2.recv(10, Socket::MSG_PEEK) #=> "a"
p s2.recv(10) #=> "a"
p s2.recv(10) #=> ""...
<< 1 2 > >>