TCPSocket
을 사용하면, socket.puts "foobar"
이 필요하고, socket.close
이 소켓의 반대쪽에있는 소켓에 연결됩니다. socket.read
.Ruby를 사용하여 TCP 연결을 유지하는 방법은 무엇입니까?
소켓을 통해 메시지를 보내거나받을 수있는 방법이 있지만 소켓을 닫지 않아도 소켓을 다시 만들지 않고 메시지를 다시 보낼 수 있습니까? 웹 소켓
TCPSocket
을 사용하면, socket.puts "foobar"
이 필요하고, socket.close
이 소켓의 반대쪽에있는 소켓에 연결됩니다. socket.read
.Ruby를 사용하여 TCP 연결을 유지하는 방법은 무엇입니까?
소켓을 통해 메시지를 보내거나받을 수있는 방법이 있지만 소켓을 닫지 않아도 소켓을 다시 만들지 않고 메시지를 다시 보낼 수 있습니까? 웹 소켓
같은
p.s 뭔가 읽어 상대방의 순서 연결을 닫습니다이 켜지지해서는 안됩니다. send
은 즉시 conection을 통해 데이터를 전송해야합니다. 상대방이 소켓에서 읽는지 확인하십시오.
+1'send' 작동 – mko
소켓에'sync '를 설정할 필요는 없습니다. 소스를 살펴보면, 소켓은 ['O_FSYNC'] (https : // github.)와 함께 [초기화] (https://github.com/ruby/ruby/blob/trunk/ext/socket/init.c#L67)됩니다. co.kr/ruby / ruby / blob/trunk/io.C# L5526-5530) set과 ['# send'] (https://github.com/ruby/ruby/blob/trunk/ext/socket/basicsocket.c) # L561-L573)은 POSIX ['send (2)'] (https://github.com/ruby/ruby/blob/trunk/ext/socket/init.c#L86) – dbenhur
을 호출합니다. 'send'가 아닌'puts '를 사용하면'sync'에 의해 제어되는 내부 버퍼링 로직을 거치게됩니다. – dbenhur
감사합니다. 해당 옵션도 함께 대답을 업데이트했습니다. –