日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

socket用法linux,linux socket编程,要用到哪些函数,和用法介绍?_Linux_天涯问答_天涯社区...

發布時間:2023/12/10 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 socket用法linux,linux socket编程,要用到哪些函数,和用法介绍?_Linux_天涯问答_天涯社区... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

4、獲得地址信息

/*?來源:?http://www.jfox.info/c/a/ic/18071a.html?*/

#include?

#include??/*?for?strncpy?*/

#include?

#include?

#include?

#include?

#include?

int

main()

{

int?fd;

struct?ifreq?ifr;

fd?=?socket(AF_INET,?SOCK_DGRAM,?0);

/*?I?want?to?get?an?IPv4?IP?address?*/

ifr.ifr_addr.sa_family?=?AF_INET;

/*?I?want?IP?address?attached?to?"eth0"?*/

strncpy(ifr.ifr_name,?"eth0",?IFNAMSIZ-1);

ioctl(fd,?SIOCGIFADDR,?&ifr);

close(fd);

/*?display?result?*/

printf("%s\n",?inet_ntoa(((struct?sockaddr_in?*)&ifr.ifr_addr)->sin_addr));

return?0;

}

5、獲得地址信息的錯誤處理?#include?

/*?來源:?http://www.jfox.info/c/a/ic/18071a.html?*/

#include?

#include?

#include?

int

main()

{

char?*hostname?=?"localhost";

struct?addrinfo?hints,?*res;

struct?in_addr?addr;

int?err;

memset(&hints,?0,?sizeof(hints));

hints.ai_socktype?=?SOCK_STREAM;

hints.ai_family?=?AF_INET;

if?((err?=?getaddrinfo(hostname,?NULL,?&hints,?&res))?!=?0)?{

printf("error?%d\n",?err);

return?1;

}

addr.s_addr?=?((struct?sockaddr_in?*)(res->ai_addr))->sin_addr.s_addr;

printf("ip?address?:?%s\n",?inet_ntoa(addr));

freeaddrinfo(res);

return?0;

}

6、創建socket地址

/*?來源:?http://www.jfox.info/c/a/ic/18071a.html?*/

#include?

#include?

#include?

#include?

int

main()

{

char?*hostname?=?"localhost";

char?*service?=?"80";

struct?addrinfo?hints,?*res;

int?err;

int?sock;

memset(&hints,?0,?sizeof(hints));

hints.ai_socktype?=?SOCK_STREAM;

hints.ai_family?=?AF_INET;

if?((err?=?getaddrinfo(hostname,?service,?&hints,?&res))?!=?0)?{

printf("error?%d?:?%s\n",?err,?gai_strerror(err));

return?1;

}

sock?=?socket(res->ai_family,?res->ai_socktype,?res->ai_protocol);

if?(sock?

perror("socket");

return?1;

}

if?(connect(sock,?res->ai_addr,?res->ai_addrlen)?!=?0)?{

perror("connect");

return?1;

}

freeaddrinfo(res);

return?0;

}

◆◆

評論讀取中....

請登錄后再發表評論!

◆◆

修改失敗,請稍后嘗試

總結

以上是生活随笔為你收集整理的socket用法linux,linux socket编程,要用到哪些函数,和用法介绍?_Linux_天涯问答_天涯社区...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。