2009-10-17 5 views
0

나는 여전히 루비에게 초보자 다.하지만 나는 루비 소켓을 사용하는데 익숙해 져서, '소켓'클래스를 여러 번 사용했기 때문에 내 소켓과 옵션에 대한 완전한 제어권을 가지고있다.ruby ​​socket issue

나는 'TCPSocket'클래스를 사용하려고하는데, 마녀 (나는 추측한다)가 '소켓' 수업.

내 스크립트는 다음과 같습니다

require 'socket' 
client = TCPSocket.open('5.5.5.5', '5555') 
client.send("msg", 0) # 0 means standard packet 
client.close 

질문은, 무엇을 대신 보내 줄에 '0'으로 가정되어있다 ?? '0'이 표준 패킷을 의미한다면 표준 이외의 것은 TCP 패킷에 대한 제어인가? 그렇다면 '소켓'클래스를 사용하여 손으로 전체 소켓을 작성하는 것보다 훨씬 쉽습니다.

답변

2

send의 두 번째 매개 변수는 flags 매개 변수입니다. 그것은 send 시스템 호출로 전달됩니다. 당신은 일반적으로 man 페이지에 의하면, 내 시스템에 0

에이를 마칠 것, 다른 가능한 플래그는 다음과 같습니다

#define MSG_OOB  0x1 /* process out-of-band data */ 
#define MSG_DONTROUTE 0x4 /* bypass routing, use direct interface */