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

学雷锋_做美德少年网站怎么做自己的免费网站

学雷锋_做美德少年网站,怎么做自己的免费网站,十大微商推广平台,设计一个手机网站平面多少钱文章目录 套接字网路字节序列TCP和UDP套接字 本文章主要介绍Linux下套接字的相关接口#xff0c;和一些基础知识。 套接字 所有网络通信的行为本质都是进程间进行通信#xff0c;网络通信也是进程间通信#xff0c;只不过是不同主机上的两个进程之间的通信。网络通信对于双… 文章目录 套接字网路字节序列TCP和UDP套接字 本文章主要介绍Linux下套接字的相关接口和一些基础知识。 套接字 所有网络通信的行为本质都是进程间进行通信网络通信也是进程间通信只不过是不同主机上的两个进程之间的通信。网络通信对于双方来说首先要先把数据到达对方的机器然后在到达对应的进程。而套接字就是IP地址端口号IP地址可以确定互联网中唯一的一台主机而端口号可以表示某个主机中进程的唯一性。所以IP端口号就可以确定互联网中的唯一一个进程。 如何理解端口号(port)? 可以表示当前主机上唯一的一个进程不采用pid的原因主要是为了把网络模块和进程模块进行解耦。port专门用来网络通信一个端口号只能关联一个进程而一个进程可以关联多个端口号。 网路字节序列 对于我们不同的主机使用的存储方案是不同的有的是大端机有的是小端机所以网络为了保证网络传输的过程中对方都能准确的把对方的数据拿到并正确读取网路就规定所有到达的网络的数据必须是大端因此所有从网络收的数据都会是大端数据。 但是因为我们的机器可能是大端或者小端我们需要通过网络传输数据是还需要自己进行转换比较麻烦所以系统用给了我们把主机序列转网络序列的接口同样也提供了网络转主机的接口。 h 就是主机n就是网络。 IP地址我们看到的是点分十进制的但是在代码里面一个整型变量就可以存储。所以系统中还存在很多把IP地址的点分十进制和整型来回转化的函数。 在介绍这些函数之前先来了解一下网络中的几个结构体字段。 IPv4和IPv6的地址格式定义在netinet/in.h中,IPv4地址用sockaddr_in结构体表示,包括16位地址类型, 16位端口号和32位IP地址. IPv4、IPv6地址类型分别定义为常数AF_INET、AF_INET6. 这样,只要取得某种sockaddr结构体的首地址,不需要知道具体是哪种类型的sockaddr结构体,就可以根据地址类型字段确定结构体中的内容. socket API可以都用struct sockaddr *类型表示, 在使用的时候需要强制转化成sockaddr_in; 这样的好处是程序的通用性, 可以接收IPv4, IPv6, 以及UNIX Domain Socket各种类型的sockaddr结构体指针做为参数; sockaddr sockaddr_in in_addr 可以看到底层的in_addr_t就是一个整型变量。 IP地址的点分十进制和整型来回转化的函数 根据接口差不多就可以猜到谁转化谁了。 这个函数是把字符串转整型的src就是需要转化的dst就是需要转化到哪里。af为网络类型一般网络为AF_INET。 这个函数是把整型转字符串的src就是需要转化的dst就是需要转化到哪里。size为dst缓冲区的大小。af为网络类型一般网络为AF_INET。 其中inet_pton和inet_ntop不仅可以转换IPv4的in_addr,还可以转换IPv6的in6_addr,因此函数接口是void *addrptr。 TCP和UDP套接字 TCP为可靠通信UDP为不可靠通信这里的可靠不可靠是中性词可靠表示更为复杂通信是需要做更多的工作而不可靠说明更简单适用对数据可靠性不高的场景。它们只有不同没有好坏。 TCP和UDP通信一般为CS模式。一般情况下 客户端不允许调用bind(), 没有必要调用bind()固定一个端口号. 否则如果在同一台机器上启动多个客户端, 就会出现端口号被占用导致不能正确建立连接; 服务器也不是必须调用bind(), 但如果服务器不调用bind(), 内核会自动给服务器分配监听端口, 每次启动服务器时端口号都不一样, 客户端要连接服务器就会遇到麻烦; 而服务器一般不绑定固定的IP一般把服务器bind的IP设置为INADDR_ANY(0),表示绑定本机的任所有P地址。因为一台主机可能有多个IP地址而只绑定一个对于另一个IP的请求就收不到了所以一般IP也不固定。 SOCK场景的API TCP和UDP创建套接字是domain都为AF_INETTCP的type为SOCK_STREAMUDP的为SOCK_DGRAM最后一个一般为0因为前两个参数确定第三个就可以确定了。 UDP读取一般使用recvfrom TCP读取数据一般使用recv UDP发送一般使用sendto TCP发送一般使用send 创建UDP服务器一般为socket创建套接字socket会返回一个类似文件描述符的东西以后通信就需要依靠这个文件描述符了然后进行bind服务器的端口和IP然后就是进行数据的发送和读取了。 创建TCP服务器一般为socket创建套接字然后进行bind设置套接字的listen属性然后进行accept进行监听有连接到来就返回一个新的文件描述符和该请求服务的进程通信监听套接字接着监听。所以它们大多数情况下都需要创建线程去处理连接主线程监听连接。
http://www.hkea.cn/news/14454492/

相关文章:

  • 永州建设网站公司互联在线app开发网站
  • 网站开发工资多少钱浙江平台网站建设设计
  • 网站如何设置微信支付功能用eclipse做网站模板
  • 长安建网站公司wordpress侧边栏添加分类
  • 德州软件开发公司seo外包优化网站 sit
  • 用表格做的网站建筑网价格
  • 美食网站代做扁平化 wordpress 主题
  • 河北辛集住房和城乡建设厅网站山西城乡和建设厅网站首页
  • 容城县建设银行网站中国建设银行官网官网
  • 岳阳品牌网站定制开发网络维护公司需要什么资质
  • 网站响应时间 标准wordpress模板二次元
  • 沈阳做网站推广广告公司网站首页设计页面
  • 企业网站系统设计别墅装修一般多少钱一套
  • c 做网站 知乎北京宏福建设工程有限公司网站
  • 怎么分析网站建设的优缺点哪个网站有做商标
  • 常熟网站建设icp备案付费 视频 网站 怎么做
  • WordPress使用CDN无法登录网站推广优化外包公司
  • 那个网站做旅游规划好城乡和住房建设厅网站
  • 免费的代码分享网站网帆网站建设
  • 公司网站建设 目录网站设计 cdc
  • 中信银行网站怎么做的怎么烂网络规划设计师自学
  • 洛阳微网站建设企业宣传报道模板范文
  • 电子商务设计网站建设建筑工程机械人才培训网的证书
  • 宿州做网站的有吗快速搭建网站工具
  • 网站开发需要怎么做wordpress 栏目列表
  • 网站备案服务对于给不良网站发律师函如何做
  • 浙江网站建设哪里有开发安卓软件用什么工具
  • 深圳罗湖医疗集团网站建设wordpress哪个模板好用
  • 在家做的打字兼职的网站用网站源码做网站
  • 广州网站搭建快速提升网站排名网上买保险有哪些平台