linux套接字bind error問題

2021-08-26 18:43:31 字數 424 閱讀 1238

下午練的linux套接字出了一些毛病,各種錯誤,先貼出正確**:

struct sockaddr_in linuxaddr;

linuxaddr.sin_addr.s_addr = htonl(inaddr_any);

linuxaddr.sin_family = af_inet;

linuxaddr.sin_port = htons(12345);

if (bind(fd, (struct sockaddr*)&linuxaddr, sizeof(linuxaddr)) < 0)

{}

首先是確定fd是乙個套接字描述符,請先賦值後再比較是否<0,仔細比對括號

其次是看sockaddr_in這個結構體中,family是不需要轉換的,ip位址要轉成長整形,埠是短整形

Linux 原始套接字

原始套接字可以用來自行組裝ip資料報,然後將資料報傳送到其他終端。必須在管理員許可權下才能使用原始套接字。總結自 unix網路程式設計 卷1 套接字聯網api 1 原始套接字的建立 int sockfd socket af inet,sock raw,ipproto 後面的 可以是icmp,udp,...

linux套接字程式設計

套接字是用來進行主機間通訊的,linux的socket和windows差不多,雖然有一定的區別,但是其基本原理與結構是一樣的,因此,一台windows的主機可以和一台linux的主機通過套接字進行通訊。socket採用客戶端與伺服器端的模式使兩台主機進行通訊。首先,伺服器端呼叫函式socket新建乙...

linux套接字基礎

linux套接字基礎 sean 一 套接字位址資料結構 1 針對各種通訊域 struct sockaddr 2 針對internet通訊域 struct sockaddr in 3 專門用來儲存ip位址 linux版本 struct in addr windows版本 struct in addr ...