struct sockaddr_in servaddr, cliaddr;
我是套接字編程的新手。
這個語句在c編程中的socket編程是什麼意思?
我們是否正在創建一個名爲sockaddr_in
的結構體,並且是servaddr
和cliaddr
的成員?爲什麼他們的數據類型沒有提到?什麼結構「sockaddr_in servaddr,clientaddr;」意思?
0
A
回答
3
這個語句在c編程中的socket編程是什麼意思?
它聲明瞭類型爲struct sockaddr_in
的兩個未初始化變量。
我們是否正在創建一個名爲
sockaddr_in
的結構?
不需要。它必須已經定義來聲明變量,或者您的程序不合格。
並且是
servaddr
和cliaddr
的成員?
沒有。
爲什麼他們的數據類型沒有提到?
它是。看到你的第一個問題的答案。
1
在Unix套接字,頭netinet/in.h
定義struct
型sockaddr_in
,這樣的事情:
struct sockaddr_in {
short sin_family; // e.g. AF_INET, AF_INET6
unsigned short sin_port; // e.g. htons(3490)
struct in_addr sin_addr; // see struct in_addr, below
char sin_zero[8]; // zero this if you want to
};
struct in_addr {
unsigned long s_addr; // load with inet_pton()
};
(參考:http://beej.us/guide/bgnet/output/html/multipage/sockaddr_inman.html)
你servaddr
和cliaddr
是您的sockaddr_in型結構的名稱。他們兩人(至少在Unix中)有四名成員(short sin_family
等)。 (其中一名成員爲struct
類型in_addr
稱爲sin_addr
被定義夫婦後來有一個成員unsigned long s_addr
線。還有一個原因,一個結構與只有一個成員,你可以找到在計算器解釋過。)
如果你想使用sockaddr_in,你必須#include <netinet/in.h>
或Windows等效的netinet/in.h
(除非你自己定義結構)。
相關問題
- 1. 這些Makefile結構是什麼意思?
- 2. $ {$}構造是什麼意思?
- 3. 「結束」是什麼意思?
- 4. 是什麼意思:是什麼意思?
- 5. 「:」(結腸)在C結構 - 這是什麼意思?
- 6. 如何memcpy()結構sockaddr_in
- 7. 'list(contour)'的結果是什麼意思?
- 8. 什麼意思?=在vb.net中的意思?
- 9. Groovy,什麼意思 - >意思是
- 10. 什麼意思?=在PHP中的意思?
- 11. 關於結構的這個C錯誤是什麼意思?
- 12. 結構字段之後的':number'是什麼意思?
- 13. PEP的地位和結構是什麼意思?
- 14. 結構第一行只是一個接口,是什麼意思?
- 15. 下面的JavaScript代碼結構是什麼意思?
- 16. 結構變量的名稱是什麼意思?
- 17. 奇怪的結構,這是什麼意思?
- 18. 這個gradle/groovy結構是什麼意思?
- 19. 「?」是什麼意思?
- 20. $$ $$是什麼意思?
- 21. 什麼是「||」意思?
- 22. 「\\。\」,「\ ?? \」,「\\?\」,「\\」是什麼意思?
- 23. 「=」是什麼意思
- 24. &**是什麼意思?
- 25. 是什麼意思?
- 26. 「_」是什麼意思?
- 27. 什麼是:!:意思?
- 28. 什麼意思futex_?
- 29. || =是什麼意思?
- 30. %%是什麼意思?