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

做网站域名费一般多少钱网站建设需要租赁服务器吗

做网站域名费一般多少钱,网站建设需要租赁服务器吗,网站内页没有排名,大数据营销推广精准粉概述 Unix 域协议并不是一个实际的协议族#xff0c;而是在单个主机上执行客户/服务通信的一种方式。是进程间通信#xff08;IPC#xff09;的一种方式。 它提供了两类套接字#xff1a;字节流套接字 SOCK_STREAM#xff08;有点像 TCP#xff09;和数据报套接字 SOCK_…概述 Unix 域协议并不是一个实际的协议族而是在单个主机上执行客户/服务通信的一种方式。是进程间通信IPC的一种方式。 它提供了两类套接字字节流套接字 SOCK_STREAM有点像 TCP和数据报套接字 SOCK_DGRAM有点像 UDP UNIX 域数据报服务是可靠的不会丢失消息也不会传递出错。 IP 协议标识客户服务器是通过 IP 地址和端口号实现的UNIX 域协议中用于标识客户机和服务器的协议地址的是普通文件系统中的路径名。 UNIX 域协议的特点 1.UNIX 域套接字域 TCP 套接字相比在同一台主机的传输速度前者是后者的两倍 。UNIX 域套接字仅仅复制数据并不执行协议处理不需要添加或删除网络报头无需计算校验和不产 生顺序号也不需要发送确认报文         2.UNIX 域套接字可以在同一台主机上各进程之间传递文件描述符         3.UNIX 域套接字域传统套接字的区别是用路径名表示协议族的描述 UNIX 域协议地址 #define UNIX_PATH_MAX 108 struct sockaddr_un {__kernel_sa_family_t sun_family; /* 通信协议 AF_UNIX / AF_LOCAL */char sun_path[UNIX_PATH_MAX]; /* pathname *///UNIX 域协议的地址,是以\0结束的本地文件系统中的绝对路径名//会自动的创建不需要提前创建 }; UNIX 域协议用于本地进程间通信的编程流程和 TCP/UDP 一样,只不过具体的协议地址是使 用文件路径名         Server先创建套接字 - 绑定地址 - 监听 - accept 客户端连接 - 连接成功开始通信 - 关闭套接字         Client先创建套接字 -绑定地址- 连接 server - 开始通信 - 关闭套接字。 UNIX 域协议之进程间通信方式一socketpair 函数 【头文件】 #include sys/types.h #include sys/socket.h 【函数原型】 int socketpair(int domain, int type, int protocol, int sv[2]); 【函数功能】         此函数只用于 Unix 域套接口它的 domain 必须是 AF_LOCAL,protocol 参数必须为 0type 可以是 SOCK_STREAM 也可以是 SOCK_DGRAM它与调用 pipe 创建的普通管道类似差别在 于普通管道只能进行单向读或单向写而该管道是全双工的可以单向读写。 【参数含义】         [domain]: 表示协议族在 Linux 下只能为 AF_LOCAL 或者 AF_UNIX 。自从 Linux 2.6.27 后也支持 SOCK_NONBLOCK 和 SOCK_CLOEXEC         [type]: 表示协议可以是 SOCK_STREAM 或者 SOCK_DGRAM。SOCK_STREAM 是基于TCP 的而 SOCK_DGRAM 是基于 UDP 的         [protocol]: 表示类型只能为 0         [sv]: 套节字柄对该两个句柄作用相同均能进行读写双向操作 【返回值】         0 为创建成功-1 为创建失败并且 errno 来表明特定的错误号具体错误号如下所述         EAFNOSUPPORT:本机上不支持指定的 address。 EFAULT 地址 sv 无法指向有效的进程地址空间内。         EMFILE 已经达到了系统限制文件描述符或者该进程使用过量的描述符。         EOPNOTSUPP指定的协议不支持创建套接字对。         EPROTONOSUPPORT本机不支持指定的协议。 【备注】         1、该函数只能用于 UNIX 域 LINUX 下。         2、只能用于有亲缘关系的进程或线程间通信。         3、所创建的套节字对作用是一样的均能够可读可写而管道 PIPE 只能进行单向读写。         4、在读的时候管道内必须有内容否则将会阻塞简而言之该函数是阻塞的。 【示例代码】 /*socketpair1.c*/ #include sys/types.h #include sys/socket.h #include stdlib.h #include stdio.h int main () {int sv[2];int result socketpair(AF_UNIX, SOCK_STREAM, 0, sv);if (result 0){exit(1);}printf(sv[0] is : %d \n, sv[0]); //这两个套节字句柄并不相同但作用是一样的printf(sv[1] is : %d \n, sv[1]);if (fork()){ /* 父进程 */int val 0;pid_t pid getpid(); close(sv[1]); //父进程关闭 sv[1]的读写权限while (1){ val;printf(%d send message: %d\n, pid, val); write(sv[0], val, sizeof(val)); //父进程向管道里写数据//也可以去读// read(sv[0], val, sizeof(val)); //如果字进程不写数据将会导致此处堵塞//printf(%d receive message: %d\n, pid, val);sleep(1);}}else{ /*子进程*/int val 0;close(sv[0]); //字进程关闭 sv[0]的读写权限pid_t pid getpid(); while(1){read(sv[1], val, sizeof(val)); //字进程从管道中取数据printf(%d receive message: %d\n, pid, val);// printf(%d receive message: %d\n, pid, val); //也可以写// write(sv[1], val, sizeof(val));}} } UNIX 域协议之进程间通信方式二套接字通信方式         UNIX 域协议进行本地通信的方式和 TCP、UDP 很类似下面就以 UNIX 域协议的流式套接字来写一个客户端和服务器间通信的例子使用流式套接字则本地间的通信方式就要类似于 TCP,这样的通信方式同时也具有 TCP 通信的特点。 客户端示例程序 #includestdio.h #includestdlib.h #include sys/types.h /* See NOTES */ #include sys/socket.h #include sys/un.h #include arpa/inet.h #includenetinet/in.h //为了使用 IPV4 地址结构体 #include string.h #include arpa/inet.h #include unistd.h#define UNIX_PATH_PS /home/china/sockp1 //连接的套接字地址 #define UNIX_PATH_PC /home/china/sockp2 //绑定的套接字地址int main(int argc,char *argv[]) {system(rm /home/china/sockp2); //防止文件重名//1.创建一个套接字int sockfd socket(AF_UNIX, SOCK_STREAM,0); //创建一个本地通信 UNIX 流式套接字if(-1 sockfd){perror(create socket failed);exit(-1);}//2.绑定一个通信地址(让服务器能看到我)可不绑定struct sockaddr_un local; memset(local,0,sizeof(struct sockaddr_un)); //清空结构体local.sun_family AF_UNIX;strcpy(local.sun_path,UNIX_PATH_PC);int ret bind(sockfd,(struct sockaddr*)local,sizeof(local));if(ret -1){perror(bind error);exit(-1);}printf(bind success\n);//连接目标服务器struct sockaddr_un saddr; //保存目标服务器的地址(本地的文件名)memset(saddr,0,sizeof(struct sockaddr_un)); //清空结构体saddr.sun_family AF_UNIX;strcpy(saddr.sun_path,UNIX_PATH_PS);ret connect(sockfd, (struct sockaddr*)saddr,sizeof(saddr)); //请求连接目标服务器if(ret -1){perror(connect error);exit(-1);}printf(connect success\n);char buf[1024] {0};//读取信息ret recv(sockfd,buf,1024, 0);if(ret -1){perror(recv error);}printf(recv size:%d,recv data:%s\n,ret,buf);//发送信息ret sendto(sockfd,byebye,6,0,NULL,0);if(ret -1){perror(sendto error);}printf(sendto size:%d\n,ret);//关闭套接字shutdown(sockfd,SHUT_RDWR);close(sockfd);return 0; } 服务器程序示例 #includestdio.h #includestdlib.h #include sys/types.h /* See NOTES */ #include sys/socket.h #include sys/un.h #include arpa/inet.h #includenetinet/in.h //为了使用 IPV4 地址结构体 #include string.h #include arpa/inet.h #include unistd.h #define UNIX_PATH_PS /home/china/sockp1int main(int argc,char *argv[]) {system(rm /home/china/sockp1); //保证该文件没有被使用//1.创建一个套接字int sockfd socket(AF_UNIX, SOCK_STREAM,0); //创建一个本地通信UNIX 流式套接字if(-1 sockfd){perror(create socket failed);exit(-1);}//2.绑定一个通信地址(作为服务器本身的地址)struct sockaddr_un local; //保存服务器的地址(文件名)memset(local,0,sizeof(struct sockaddr_un)); //清空结构体local.sun_family AF_UNIX;strcpy(local.sun_path,UNIX_PATH_PS);int ret bind(sockfd,(struct sockaddr*)local,sizeof(local)); //绑定服务器的地址if(ret -1){perror(bind error);exit(-1);}printf(bind success\n);//3.开启对一个套接字的监听listen(sockfd,250);//4.等待客户端的连接while(1){struct sockaddr_un caddr; //保存客户端的地址(文件名)socklen_t len sizeof(caddr);int confd accept(sockfd,(struct sockaddr*)caddr,len); //阻塞等待客户端连接if(confd 0) //客户端连接成功,返回一个连接套接字专门用来和客户端通信{//一个客户端连接成功.开一个进程/线程去处理这个连接printf(client path:%s\n,caddr.sun_path);ret sendto(confd,nishiliangzaima?,20,0,NULL,0); //发送消息if(ret -1){perror(sendto error);}char buf[1024] {0};ret read(confd,buf,1024); //接收消息if(ret 0){perror(recv error);}printf(recv size:%d,recv data:%s\n,ret,buf);close(confd);//关闭连接套接字}}//关闭套接字shutdown(sockfd,SHUT_RDWR);close(sockfd);return 0; }
http://www.w-s-a.com/news/554540/

相关文章:

  • 了解做房产广告的网站手机版官方网站的建设
  • 如何与别的网站做友情链接做网站排名大概要多少钱
  • 东莞市锂电池网站建设HTML5怎么做自适应网站
  • 江苏城乡建设学校网站群晖建立wordpress
  • wordpress导入网站模板seo自学网官网
  • 购物网站服务器带宽北京网站开发周期
  • 同性做视频网站网站怎么添加栏目
  • 新余网站设计seo自学网站
  • 新乡个人网站建设价格wordpress数据插件
  • 你是网站设计有限公司的项目经理网站推广的重要性
  • 网站定制开发怎么写泸州设计公司有哪些
  • 上海网站建设zj kt迅速编程做网站
  • 郑州服装 网站建设网站栏目合理性
  • 平面设计在线网站最新汽油价格调整最新消息
  • 刷单网站建设wordpress缩略图 裁剪
  • 视差 网站泰州公司做网站
  • 广州网站优化系统怎么做淘客网站
  • 类似凡科互动的网站wordpress网站下载
  • 临沂网站制作公司安卓app开发实例教程
  • 泰州做网站 泰公网络科技公司网站升级中html
  • 如何做授权网站网站设计心得
  • 网站排名快速上升wordpress自动标签页
  • 做的好的手机网站有哪些万网域名交易
  • 网站怎么做漂亮点做陶瓷的公司网站
  • 软件开发设计制作网站下载自己怎么做视频收费网站
  • 江苏省建设安全协会网站天津网站建设哪家公司好
  • 资源类网站怎么做的网站上线准备工作
  • 长沙专业网站建设怎么做企业建站公司服务
  • 肇庆市有限公司网站建设手机直接看的网站有哪些
  • 织梦修改网站后备份英语作文模板高中