红宝石插座问题

红宝石插座问题

问题描述:

我还是一个新手红宝石,但我成为了使用红宝石套接字,因为我多次使用'套接字'类,所以我完全控制我的插座和他们的选择。我试图使用'TCPSocket'类,女巫(我猜)并没有给予太多的控制,因为'套接字'类。红宝石插座问题

我的剧本是这样的:

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

的问题是,什么是假设是,而不是发送线路上的“0”?如果'0'表示标准数据包,那么标准数据包可以存在于标准数据包中,它是否对TCP数据包有一定的控制?如果是这样,那么对于我来说,使用'Socket'类来手工编写整个套接字会容易得多。

send的第二个参数是flags参数。它被传递到send系统调用。通常你会想为0

在我的系统离开这一点,根据手册页,其他可能的标志是:

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