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

网站整体运营怎么在百度发帖

网站整体运营,怎么在百度发帖,简述网站的推广策略,简单的网站建设这篇文章只有Linux网络通信基础API大参数信息&#xff0c;和返回值&#xff0c;这篇文章并没有这些基础API的参数类型介绍。accept的第二个参数可以查看客户端信息。 创建socket #include <sys/types.h> /* See NOTES */#include <sys/socket.h>int sock…

这篇文章只有Linux网络通信基础API大参数信息,和返回值,这篇文章并没有这些基础API的参数类型介绍。accept的第二个参数可以查看客户端信息。

创建socket

       #include <sys/types.h>          /* See NOTES */#include <sys/socket.h>int socket(int domain, int type, int protocol);

该函数可以创建一个socket;

参数:

domain:告诉系统使用那个底层协议。对TCP/IP协议族而言,该参数应该设置为PF_INET(用于IPv4)或PF_INET6(用于IPv6);对于UNIX本地协议族而言,应设为PF_UNIX。

type:指定服务类型。主要有SOCK_STREAM服务(流服务)TCPSOCK_UGRAM(数据报)服务UDP并且高版本Linux,支持SOCK_NONBLOCK和SOCK_CLOEXEC分别表示将新创建的socket设为非阻塞,以及用fork调用创建子进程时在子进程内部关闭该socket

protocol:几乎所有情况都将其设置为0,表示使用默认协议。

返回值:

        socket系统调用成功返回一个socket文件描述符,失败返回-1并设置errno。

命名socket(绑定)

        创建socket时,只给它指定了地址族,但并未指定使用该地址族中的哪个具体socket地址

        将一个socket与socket地址绑定成为给socket命名,因为只有命名后,客户端才知道该如何连接它。客户端通常不需要命名socket,都是匿名方式,即操作系统自动分配socket地址。

命名socket的系统调用
 

       #include <sys/types.h>          /* See NOTES */#include <sys/socket.h>int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

参数:

sockfd:就是socket()创建的文件描述符

addr:bind将addr所指的socket地址分配给未命名的sockfd文件描述符

addrlen:指socket地址长度

返回值: 

        成功返回0,失败返回-1并设置errno。常见的两种错误,EACCES和EADDRINUSE

        EACCES:被绑定的地址是保护地址,仅由超级用户可以访问。比如端口号(0~1023).

        EADDRINUSE:被绑定的地址正在使用。比如将socket绑定到一个处于TIME_WAIT状态的socket地址。

监听socket

        socket被命名之后,还不能马上接收客户连接,我们需要如下系统调用来创建一个监听队列,以存放待处理的客户连接。

       #include <sys/types.h>          /* See NOTES */#include <sys/socket.h>int listen(int sockfd, int backlog);

 参数:

sockfd:指定被监听的socket。

backlog:提示内核监听队列的最大长度,监听队列如果超过backlog,服务器将不受理新的客户连接,客户端也将收到ECONNREFUSED错误信息。在内核版本2.2之后,只表示处于完全连接状态的socket的上限,半连接状态则由内核参数定义。典型值为5.

返回值:

        成功返回0,失败返回-1并设置errno。 

接受socket

       #include <sys/types.h>          /* See NOTES */#include <sys/socket.h>int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

从listen监听队列中接受一个连接。

参数:

sockfd:执行过listen系统调用的监听队列socket。

 addr用来获取被接受连接的远端socket地址,如客户端连接,服务端接受,就可以通过这个参数获取。

addrlen:指定socket地址长度。

返回值:

        成功返回一个新的socket连接,该socket唯一标识了被接受的这个连接,服务端可通过读写socket来与被接受连接的客户端进行通信。失败返回-1并设置errno。

发起socket

       #include <sys/types.h>          /* See NOTES */#include <sys/socket.h>int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen);

客户端主动与服务器建立连接。

参数:

sockfd:参数socket()创建的文件描述符。

addr:是服务器监听的socket地址

addrlen:指定地址长度

返回值:

        成功返回0,一旦成功建立连接,socket就唯一地标识了这个连接,客户端就可以通过sockfd来与服务端通信。失败返回-1,并设置errno。常见的两个错误:ECONNREFUSED和ETIMEDOUT。

         ECONNREFUSED:目标端口不存在,连接被拒绝。

        ETIMEDOUT:连接超时。

关闭socket

       #include <unistd.h>int close(int fd);

        参数fd是待关闭状态,close系统调用并非总是立即关闭一个连接,而是通过fd引用计数减一,当fd引用计数减为0,才真正关闭连接多进程,一次fork()将父进程中代开的socket的引用计数加1,因此我们必须在父子进程中都进行关闭,才能真正关闭。 

http://www.yidumall.com/news/90098.html

相关文章:

  • 网站建设托管东莞网络营销平台
  • 企业邮箱后缀seo主要优化
  • 网站域名过期怎么做网络推广项目外包公司
  • 网页设计视频网站建设汕头seo排名
  • O2O网站制作需要多少钱企业宣传标语
  • 西安学校网站建设价格百度识别图片找图
  • 杭州利兴建设官方网站网站查询
  • 苏州餐饮 网站建设百度在西安的公司叫什么
  • 泰安营销型网站建设公司独立站seo优化
  • wordpress 页面不存在seo工资待遇怎么样
  • 网站开发与app开发的区别网站收录是什么意思
  • 唐山诚达建设集团网站怎么宣传自己的店铺
  • 鹤壁北京网站建设游戏推广员怎么做
  • 电子商务公司经营范围有哪些怎么做网站优化排名
  • 做网站平台多少钱新产品推广方案范文
  • 企业 网站 客户留言怎么做广州软件系统开发seo推广
  • 做机械的专业外贸网站有哪些如何优化网站推广
  • 网站开发推广渠道竞价网络推广外包
  • python开发做网站360推广平台登录入口
  • 永州冷水滩网站建设重庆网站制作系统
  • 昆山有做网站的公司吗聚合搜索引擎
  • 仿win8 html5微网站纯手工代码百度经验实用生活指南
  • 深圳做网站的网络百度一下你就知道官网首页
  • 怎样做网站卖自己的产品教程企业网站的在线推广方法有
  • 中国佛山营销网站建设网络营销概念是什么
  • 《php网站开发实例教程》推广普通话活动方案
  • 春节网站设计app拉新推广代理
  • 徐汇区网站建设哪家比较靠谱百度指数移动版怎么用
  • 曾经做博彩网站代理友情链接作用
  • 潍坊网站建设外包广州seo服务外包