2
A
回答
7
正如其他人可能說的,socket
的第三個參數通常是指示協議的int
。 0
表示調用者不想指定協議並將其留給服務提供者。
除零之外,另一個常見的是IPPROTO_TCP
。
全部細節可在您的機器上使用man 2 socket
或訪問here的手冊頁上找到。
3
從插座的手冊頁:
int socket(int domain, int type, int protocol);
該協議指定 特定協議與 插座一起使用。通常僅單個 協議 存在支持給定的協議 家庭內的特定插座類型,在這種情況下協議可以是 異型材 田間爲。但是,很多協議可能存在,在這種情況下,特定的協議必須以這種方式指定的 。要使用的協議號碼特定於要發生的「通信域」 ;見協議(5)。請參閱getprotoent(3) 如何將協議名稱字符串映射到 原始數字號碼 。
0
要做的最好的事情是閱讀man page。本文檔指出第三個參數是協議,在本例中爲SOCK_STREAM,但可以是其他協議。
相關問題
- 1. 在等待系統調用中使用0有什麼用?
- 2. 在UNIX系統上調用睡眠(0)的效果是什麼?
- 3. 什麼是系統調用?
- 4. Linux reboot()系統調用:爲什麼它在kernel_halt()之後調用do_exit(0)?
- 5. 在操作系統中,系統調用和中斷有什麼區別?
- 6. 什麼使read()成爲系統調用?
- 7. JAVA爲什麼arrayCopy系統調用?
- 8. 什麼是JNI調用的android系統
- 9. sys_vm86old系統調用是做什麼的?
- 10. 爲什麼awk在系統調用後返回一個額外的行和「0」?
- 11. opcode == 0表示什麼?
- 12. 爲什麼Perl會在系統調用中用%23替換#?
- 13. 在Linux中使用什麼系統調用來複制文件
- 14. 爲什麼strace不顯示HDD IOCTL系統調用?
- 15. 系統調用示例
- 16. getnameinfo - 它在Linux中的系統調用是什麼?
- 17. 系統在以下程序中調用的是什麼?
- 18. 爲什麼調用系統grep比在Ruby中匹配要慢?
- 19. 系統調用在C++中
- 20. unix系統編程中send和sendto系統調用有什麼區別?
- 21. 爲什麼用int80h代替sysenter來調用系統調用?
- 22. 什麼ü在android系統
- 23. 爲什麼在系統日期返回0?
- 24. UNIX系統調用列表?
- 25. 什麼是OpenSolaris系統調用調用約定(x86)?
- 26. 用c編寫的窗口中的系統調用是什麼?
- 27. 爲什麼使用中斷來處理系統調用?
- 28. 是什麼F_DUPFD內的fcntl在Linux系統調用使用
- 29. dup()和close()系統調用之間的關係是什麼?
- 30. 爲什麼ServerSocket在Socket中不調用NetworknOnMainThread?
SOCK_STREAM用於第二個參數,類型而不是第三個。 – petEEy 2017-12-13 17:25:26