windows下:
常量 | 數值 | 說明 | socket_recv | socket_send |
---|---|---|---|---|
MSG_OOB | 1 | 處理超出邊界的數據。 | √ | √ |
MSG_PEEK | 2 | 從接受隊列的起始位置接收數據,但不將他們從接受隊列中移除。 | √ | - |
MSG_WAITALL | 8 | 在接收到至少 len 字節的數據之前,造成一個阻塞,並暫停腳本運行(block)。但是, 如果接收到中斷信號,或遠程服務器斷開連接,該函數將返回少於 len 字節的數據。 | √ | - |
MSG_CTRUNC | 512 | 控制數據被截斷 | - | - |
MSG_TRUNC | 256 | 返回數據包實際長度即使被截斷 | - | - |
MSG_DONTROUTE | 4 | 勿將數據包路由出本地網絡 | - | - |
MSG_ERRQUEUE | 4096 | 接受錯誤信息作爲輔助數據 | - | - |
Linux下:
常量 | 數值 | 說明 | socket_recv | socket_send |
---|---|---|---|---|
MSG_OOB | 1 | 處理超出邊界的數據。接受帶外數據。 | √ | √ |
MSG_PEEK | 2 | 從接受隊列的起始位置接收數據,但不將他們從接受隊列中移除。 | √ | - |
MSG_WAITALL | 256 | 在接收到至少 len 字節的數據之前,造成一個阻塞,並暫停腳本運行(block)。但是, 如果接收到中斷信號,或遠程服務器斷開連接,該函數將返回少於 len 字節的數據。 | √ | - |
MSG_DONTWAIT | 64 | 如果制定了該flag,函數將不會造成阻塞,即使在全局設置中指定了阻塞設置。 | √ | - |
MSG_EOR | 128 | 接收記錄結束符,在 Windows 平臺上無效。 | - | √ |
MSG_EOF | 512 | 標記記錄結束,在 Windows 平臺上無效。 | - | √ |
MSG_DONTROUTE | 4 | 勿將數據包路由出本地網絡 | - | √ |
MSG_CTRUNC | 8 | 控制數據被截斷 | - | - |
MSG_TRUNC | 32 | 返回數據包實際長度即使被截斷 | - | - |
MSG_CONFIRM | 2048 | 提供鏈路層反饋以保持地址映射有效 | - | - |
MSG_ERRQUEUE | 8192 | 接受錯誤信息作爲輔助數據 | - | - |
MSG_NOSIGNAL | 16384 | 在無連接的套接字不產生信號SIGPIPE | - | - |
MSG_MORE | 32768 | 允許延遲並寫更多數據 | - | - |
MSG_WAITFORONE | 65536 | - | - | - |