当前位置: 首页 > news >正文

案例学习网站建设方案摸摸学校/怎样推广

案例学习网站建设方案摸摸学校,怎样推广,amazon s3 wordpress,清远市专业网站制作在 第 5 天:以农村故事说说我对 socket 的理解 这节课程中,我们聊了聊 socket,但是没有写代码,不写代码这不是耍流氓吗!今天把代码补上,以前我一直没找到好的资料,直到某天我找到了一本「神书」…

在 第 5 天:以农村故事说说我对 socket 的理解 这节课程中,我们聊了聊 socket,但是没有写代码,不写代码这不是耍流氓吗!今天把代码补上,以前我一直没找到好的资料,直到某天我找到了一本「神书」,看完后,我我理解了 socket。书中详细介绍了 socket 各个 API 的使用、通过 socket 创建 TCP 与 UDP、TCP 与 UDP 的区别,并通过简单的 demo 来实践,书中有大量的图,这些图比我画的好多了。

操作系统都会提供 socket 接口供应用程序直接进行数据传输。比如 iOS 中 #include 通过 C 的接口描述如何使用 socket 接口。下一节内容我们将使用这些 API 创建 HTTP Server。

我截取了书中部分图,图画的非常精美,如果你想深入学习 socket,建议阅读本书(很薄的一本):

ff0ca5ab2e0059bec34f9848e02e0ffe.png

25bdffd58a0a0b3cd7b4f43f215d8625.png

162180659681dc28aac670a241af97d6.png

你可以在公众号对话框输入「socket」可以获取本书 pdf。

socket 各个 API 主要有下面这些:

80a5cce4b17cb4498038a6e13e5f0f7d.png

1.创建 Socket

int socket(int, int, int);
a: 返回值可以理解为一个 id,用来标识一个 socket,如果返回 -1,说明有错误;

参数1:AF_INET:网络通信,UDP、TCP等网络协议,AF_UNIX:本地通信,比如文件地址;

参数2:socket 类型,有以下几个值:SOCK_STREAM,流式的 socket,比如 TCP;SOCK_DGRAM,datagram socket 数据报 socket,比如 UDP;SOCK_RAW,原始套接字;

参数3:采用的协议,IPPROTO_TCP,TCP协议;IPPROTO_UDP,UDP协议;

2. bind 

给 socket 绑定一个地址和端口。

int bind(int, const struct sockaddr *, socklen_t);

a、返回值为 -1 时错误;

参数1:创建 socket 时的 id;

参数2:socket 地址;

struct sockaddr_in {  __uint8_t       sin_len;  sa_family_t     sin_family;  in_port_t       sin_port;  struct  in_addr sin_addr;  char            sin_zero[8];}
struct in_addr {  in_addr_t s_addr;};

参数3:地址的 size;

bind 使用的例子:

int sockid;struct sockaddr_in addrport;sockid = socket(PF_INET, SOCK_STREAM, 0);addrport.sin_family = AF_INET;addrport.sin_port = htons(5100);addrport.sin_addr.s_addr = htonl(INADDR_ANY);if(bind(sockid, (struct sockaddr *) &addrport, sizeof(addrport))!= -1) { ...}

3. listen

绑定地址后,需要进行监听。

int listen(int, int);

a、返回值为 -1 时错误;

参数1:创建 socket 时的 id;

参数2:socket 地址;

4. accept

通过这个获取客户端连接的 socket。

int accept(int, struct sockaddr *r, socklen_t *t)

5. connect

客户端通过这个与 server 建立连接。

int connect(int, const struct sockaddr *, socklen_t)

6.write

向 socket 发送数据。

ssize_t write(int __fd, const void * __buf, size_t __nbyte)

7.read

从 socket 中读取数据。

ssize_t read(int, void *, size_t) 

8.close

关闭 socket 的连接,参数为 socket 的 id。

int close(int)
TCP 和 UDP 的使用如图所示:

ff3ee1392891b3c1030b46e555395fb2.png

5926547ea8e8bb7425e0df483a5d2420.png

总结

本文说明了 socket 的接口使用。下节内容我们通过今天介绍的 socket 接口 实现一个 HTTP server。大家加油!!!直接打卡吧!!!


推荐阅读:第 5 天:以农村故事说说我对 socket 的理解第4天:数据传输之 TCP ,聊天室实践(含视频)

da5b7f4b273149b6d9bd7b82ac7bc2b9.png

http://www.jmfq.cn/news/4985083.html

相关文章:

  • 带端口的服务器怎么做网站/seo教程之关键词是什么
  • 建设糖果网站的好处有哪些/百度网站链接
  • 专业的电商网站建设公司/百度广告费
  • 海口网站设计公司/个人网页在线制作
  • 营销型高端网站建设价格/南安seo
  • 网站界面设计实训报告/推广网站seo
  • 温州手机网站制作哪家好/google搜索引擎优化
  • 东营市公司网站建设价格/百度公司网站推广怎么做
  • 苍南网站制作/关键词seo排名优化推荐
  • word链接点进去是网站怎么做/株洲seo推广
  • 网站做一样的算侵权么/外贸推广具体是做什么
  • 衡水网站公司/汕头seo管理
  • 文化传媒建设网站/网站seo关键词
  • 企业名称怎么取名/seo优化软件有哪些
  • 广东汽车品牌网站建设/百度推广app下载官方
  • 学校网络营销推广方案/免费seo培训
  • 扬中网站建设/百度推广网站一年多少钱
  • WordPress论坛小程序/seo排名赚app是真的吗
  • 用.net做的网站/湖南长沙关键词推广电话
  • 外贸局/重庆seo公司怎么样
  • 网页设计个人简历代码/网站关键词优化排名推荐
  • 佛山企业网站制作公司/vue seo 优化方案
  • dw建设网站的代码模板/google首页
  • 网站内容管理系统下载/搜索引擎优化的作用
  • 学做宝宝衣服网站/信阳seo优化
  • 苹果软件做ppt下载网站有哪些/购物网站推广方案
  • 国外优秀网站/确认已有81人感染
  • 网站开发上海/互联网广告代理加盟
  • 莱芜中医院网站/如何在百度做推广
  • 建材网站制作/游戏网站交换友情链接