socket概念不清楚?网络编程API还不会用?看这篇文章就够了

socket概念不清楚?网络编程API还不会用?看这篇文章就够了上一篇文章给同学们梳理了 IP 地址 端口号 socket 套接字的基本知识 IP 地址 端口号 socket 这些令人头痛的术语一篇文章讲清楚有的朋友反应虽然以前用过 socket 但是还是没有搞懂 鉴于 socket 是网络编程的一个重点内容 所以本

大家好,欢迎来到IT知识分享网。

上一篇文章给同学们梳理了IP地址、端口号、socket套接字的基本知识:

IP地址、端口号、socket,这些令人头痛的术语一篇文章讲清楚

socket概念不清楚?网络编程API还不会用?看这篇文章就够了

有的朋友反应虽然以前用过socket,但是还是没有搞懂,鉴于socket是网络编程的一个重点内容,所以本篇文章单独拎出来给大家讲一下,希望给到大家一丝丝的启发。

在UDP通信中,我们可以把socket比做成你家的邮箱。我们发送信息(寄信)或者接收信息(收信)都是通过操作这个邮箱来实现的。

socket概念不清楚?网络编程API还不会用?看这篇文章就够了

需要发送信息(寄信)的时候只需要往socket(邮箱)里面放入信件,当然这个信件需要写上要发往哪里(sendto)。如果是接收信息(收信)的话,直接从socket(邮箱)里面取出就行(recvfrom)。拿到信件之后我们除了可以获得信件里面的内容之外还能获得发信人的信息(IP地址,端口号)。如果搬家了记得把邮箱也拆掉(close)

socket概念不清楚?网络编程API还不会用?看这篇文章就够了

图片有点小,可以保存到手机或者电脑上放大看

然而在TCP通信中,情况就有一点不一样了。因为TCP是需要建立连接的,所以这个时候把socket比做成邮箱就不太合适。

socket概念不清楚?网络编程API还不会用?看这篇文章就够了

这个时候的socket更像一台手机,比如你爸要和你打电话。首先你要先买一台手机(socket),

然后配置一个手机卡(配置IP信息和端口号),然后把手机卡插入手机中(利用bind绑定信息),然后设置手机铃声(listen设置监听),然后就愉快地等你爸的电话(accpet阻塞等待连接)。

电话来了之后,就可以听你爸讲话(recv/read),或者说话(send/write),打完电话之后别忘了挂电话(close)。

如果是你要给你爸打电话,首先你还是要买一台手机(socket),然后输入电话号码(配置对方的ip和端口号),然后按下拨号键(connect阻塞等待连接)。

对方接听之后,就可以说话(send/write)或者是听你爸说话(recv/read),打完电话之后别忘了挂电话(close)。

socket概念不清楚?网络编程API还不会用?看这篇文章就够了

图片有点小,大家可以保存在手机或电脑上看

PS:以上( )中的英语单词均代表的是一些API接口,相信看完这篇文章的你已经跃跃欲试想自己试一下写一个程序来测试了,大家可以先试一试,下一节将会给大家分享这些API接口的使用方法(参数、返回值等),也会有demo给到大家。

如果还是有不理解的地方请在评论区告诉我哦~

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/96672.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信