ip地址和端口號筆試題
我們?nèi)绾螐膕in_addr取得此客戶端的Ip地址和端口號呢? 在socket編程中,服務(wù)器端accept()等待一個客戶端的連接,當(dāng)連接成功后,accept拷貝客戶端的.地址信息到sin_addr里面,我們?nèi)绾螐膕in_addr取得此客戶端的Ip地址和端口號呢?
實(shí)際上,當(dāng)sockaddr_in.sin_family = AF_INET時,sockaddr = sockaddr_in。
據(jù)此,我們可以做一下轉(zhuǎn)換,就可以利用 inet_ntoa() 來得到ip地址和端口號了:
int new_fd = accept(sock, &clientAddr, &sin_size);
if(new_fd<0)
{
char msg[64];
bzero(msg,sizeof(msg));
sprintf(msg,"accept failed");
log::outputSysErr(msg);
}
else
{
// 將sockaddr強(qiáng)制轉(zhuǎn)換為 sockaddr_in
sockaddr_in sin;
memncpy(&sin, &clientAddr, sizoef(sin));
// 取得ip和端口號
sprintf(info.ip, inet_ntoa(sin.sin_addr));
info.port = sin.sin_port;
info.sock = new_fd;
}
【ip地址和端口號筆試題】相關(guān)文章:
查找本地IP/網(wǎng)絡(luò)IP/對方IP地址圖文教程11-20
手機(jī)修改ip地址方法08-18
ping不通ip地址的原因08-18
ip地址是怎么分類的08-08
電腦的IP地址怎樣設(shè)置10-12
win10怎么查看ip地址10-11
win10如何查看ip地址10-10
路由器ip地址設(shè)置問題08-08
電腦的IP地址和DNS域名服務(wù)器如何設(shè)置10-18
路由器的IP地址怎么查找08-11