hitode909の日記

以前はプログラミング日記でしたが、今は子育て日記です

Rubyでソケットを使うときのメモ

少し前に書いたっきりで忘れそうなのでメモっておく

1行ごとに取ってくる場合

ip = "localhost"
port = 3100
s = TCPSocket.open(ip,port)
str = s.gets

getsで1行取得可能

文字数を指定して取ってくる場合

s.recv(8)

で8バイトだけ受信できる。
例えば、先頭の8バイトに文字数が入ってる場合だと、

ip = "localhost"
port = 3100
s = TCPSocket.open(ip,port)
str = s.recv(s.recv(8).to_i)

こうすれば、先頭8バイトを受信して、整数にして、その文字数だけまた受信してくれる。


簡単ですね。