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

衡水有做网站的吗搜易网优化的效果如何

衡水有做网站的吗,搜易网优化的效果如何,moshou模板wordpress,天元建设集团有限公司组织结构一、UNIX 域流式套接字 本地地址 struct sockaddr_un { unsigned short sun_family; /* 协议类型 */ char sun_path[108]; /* 套接字文件路径 */ }; UNIX 域流式套接字的用法和 TCP 套接字基本一致,区别在于使用的协议和地址不同 UNIX 域流式套接字服务器…

一、UNIX 域流式套接字

本地地址

struct sockaddr_un {

  unsigned short sun_family;    /* 协议类型 */

  char sun_path[108];        /* 套接字文件路径 */

};

UNIX 域流式套接字的用法和 TCP 套接字基本一致,区别在于使用的协议和地址不同

UNIX 域流式套接字服务器端流程如下:

(1)创建 UNIX 域流式套接字。

(2)绑定本地地址(套接字文件)。

(3)设置监听模式。

(4)接收客户端的连接请求。

(5)发送/接收数据。

UNIX 域流式套接字客户端流程如下。

(1)创建 UNIX 域流式套接字。

(2)指定服务器端地址(套接字文件)。

(3)建立连接。

(4)发送/接收数据。

UNIX 域用户数据报套接字的流程可参考 UDP 套接字

UNIX 域流式套接字服务器端流程如下:

(1)创建 UNIX 域流式套接字。

(2)绑定本地地址(套接字文件)。

(3)发送/接收数据。

二、UNIX域流式套接字实现

服务端

#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>#define MY_SOCK_PATH "/tmp/my_sock_file"
#define LISTEN_BACKLOG 50#define handle_error(msg) \do { perror(msg); exit(EXIT_FAILURE); } while (0)int main(int argc, char *argv[])
{int sfd, cfd;struct sockaddr_un my_addr, peer_addr;socklen_t peer_addr_size;char buf[BUFSIZ] = {};sfd = socket(AF_UNIX, SOCK_STREAM, 0);if (sfd == -1)handle_error("socket");memset(&my_addr, 0, sizeof(struct sockaddr_un));my_addr.sun_family = AF_UNIX;strncpy(my_addr.sun_path, MY_SOCK_PATH,sizeof(my_addr.sun_path) - 1);if (bind(sfd, (struct sockaddr *) &my_addr,sizeof(struct sockaddr_un)) == -1)handle_error("bind");if (listen(sfd, LISTEN_BACKLOG) == -1)handle_error("listen");peer_addr_size = sizeof(struct sockaddr_un);cfd = accept(sfd, (struct sockaddr *) &peer_addr,&peer_addr_size);if (cfd == -1)handle_error("accept");recv(cfd, buf, BUFSIZ, 0);printf("%s\n", buf);close(cfd);close(sfd);remove(MY_SOCK_PATH);return 0;
}

客户端

#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>#define MY_SOCK_PATH "/tmp/my_sock_file"#define handle_error(msg) \do { perror(msg); exit(EXIT_FAILURE); } while (0)int main(int argc, char *argv[])
{int fd;struct sockaddr_un peer_addr;char buf[BUFSIZ] = {"Hello World!"};fd = socket(AF_UNIX, SOCK_STREAM, 0);if (fd == -1)handle_error("socket");memset(&peer_addr, 0, sizeof(struct sockaddr_un));peer_addr.sun_family = AF_UNIX;strncpy(peer_addr.sun_path, MY_SOCK_PATH,sizeof(peer_addr.sun_path) - 1);if (connect(fd, (struct sockaddr *) &peer_addr,sizeof(struct sockaddr_un)) == -1)handle_error("connect");printf("%s\n",buf);send(fd, buf, strlen(buf), 0);close(fd);return 0;
}

三、UNIX域数据报套接字实现

服务端

#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>#define MY_SOCK_PATH "/tmp/my_sock_file"
#define handle_error(msg) \do { perror(msg); exit(EXIT_FAILURE); } while (0)int main(int argc, char *argv[])
{int fd;struct sockaddr_un my_addr, peer_addr;socklen_t peer_addr_size;char buf[BUFSIZ] = {};fd = socket(AF_UNIX, SOCK_DGRAM, 0);if (fd == -1)handle_error("socket");memset(&my_addr, 0, sizeof(struct sockaddr_un));my_addr.sun_family = AF_UNIX;strncpy(my_addr.sun_path, MY_SOCK_PATH,sizeof(my_addr.sun_path) - 1);if (bind(fd, (struct sockaddr *) &my_addr,sizeof(struct sockaddr_un)) == -1)handle_error("bind");peer_addr_size = sizeof(struct sockaddr_un);recvfrom(fd, buf, BUFSIZ, 0, (struct sockaddr *) &peer_addr,&peer_addr_size);printf("%s\n",buf);close(fd);remove(MY_SOCK_PATH);return 0;
}

客户端

#include <sys/socket.h>
#include <sys/un.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>#define MY_SOCK_PATH "/tmp/my_sock_file"
#define handle_error(msg) \do { perror(msg); exit(EXIT_FAILURE); } while (0)int main(int argc, char *argv[])
{int fd;struct sockaddr_un peer_addr;socklen_t peer_addr_size;char buf[BUFSIZ] = {"Hello World!"};fd = socket(AF_UNIX, SOCK_DGRAM, 0);if (fd == -1)handle_error("socket");memset(&peer_addr, 0, sizeof(struct sockaddr_un));peer_addr.sun_family = AF_UNIX;strncpy(peer_addr.sun_path, MY_SOCK_PATH,sizeof(peer_addr.sun_path) - 1);peer_addr_size = sizeof(struct sockaddr_un);printf("%s\n", buf);sendto(fd, buf, strlen(buf), 0, (struct sockaddr *) &peer_addr,peer_addr_size);close(fd);remove(MY_SOCK_PATH);return 0;
}


文章转载自:
http://docetic.xxhc.cn
http://nujiang.xxhc.cn
http://tectogenesis.xxhc.cn
http://gulosity.xxhc.cn
http://notionate.xxhc.cn
http://gormand.xxhc.cn
http://copiously.xxhc.cn
http://insatiable.xxhc.cn
http://ibsenism.xxhc.cn
http://supernaturally.xxhc.cn
http://coattail.xxhc.cn
http://priestling.xxhc.cn
http://meanspirited.xxhc.cn
http://morsel.xxhc.cn
http://workaholism.xxhc.cn
http://gobbledegook.xxhc.cn
http://yautia.xxhc.cn
http://skysweeper.xxhc.cn
http://hardball.xxhc.cn
http://yearly.xxhc.cn
http://seity.xxhc.cn
http://abri.xxhc.cn
http://misnomer.xxhc.cn
http://deprecative.xxhc.cn
http://waterishlogged.xxhc.cn
http://swashy.xxhc.cn
http://nolpros.xxhc.cn
http://pneumatotherapy.xxhc.cn
http://theatergoer.xxhc.cn
http://laurel.xxhc.cn
http://infold.xxhc.cn
http://humorless.xxhc.cn
http://telangiectasia.xxhc.cn
http://hexenbesen.xxhc.cn
http://assam.xxhc.cn
http://extract.xxhc.cn
http://feist.xxhc.cn
http://adulthood.xxhc.cn
http://ornithischian.xxhc.cn
http://olfactronics.xxhc.cn
http://tunic.xxhc.cn
http://acidophil.xxhc.cn
http://foretold.xxhc.cn
http://steward.xxhc.cn
http://dirk.xxhc.cn
http://subjectless.xxhc.cn
http://puerperal.xxhc.cn
http://danielle.xxhc.cn
http://acalephe.xxhc.cn
http://longbowman.xxhc.cn
http://deianira.xxhc.cn
http://hydropsy.xxhc.cn
http://jetabout.xxhc.cn
http://sericicultural.xxhc.cn
http://appealable.xxhc.cn
http://acushla.xxhc.cn
http://sken.xxhc.cn
http://significs.xxhc.cn
http://havildar.xxhc.cn
http://asdic.xxhc.cn
http://bename.xxhc.cn
http://agglutinate.xxhc.cn
http://superterranean.xxhc.cn
http://lha.xxhc.cn
http://wedding.xxhc.cn
http://remunerate.xxhc.cn
http://sarmentaceous.xxhc.cn
http://pomander.xxhc.cn
http://piggywiggy.xxhc.cn
http://readapt.xxhc.cn
http://interrelated.xxhc.cn
http://tend.xxhc.cn
http://cognate.xxhc.cn
http://chemism.xxhc.cn
http://intermittence.xxhc.cn
http://yellowish.xxhc.cn
http://megacephalic.xxhc.cn
http://mccarthyite.xxhc.cn
http://upbuilt.xxhc.cn
http://hellebore.xxhc.cn
http://caseophile.xxhc.cn
http://ideaistic.xxhc.cn
http://copihue.xxhc.cn
http://sleepiness.xxhc.cn
http://transvest.xxhc.cn
http://pr.xxhc.cn
http://kokeshi.xxhc.cn
http://clientage.xxhc.cn
http://neuroleptanalgesia.xxhc.cn
http://proxemics.xxhc.cn
http://counterevidence.xxhc.cn
http://nitrification.xxhc.cn
http://oxygenic.xxhc.cn
http://jewelweed.xxhc.cn
http://incisure.xxhc.cn
http://abstractionism.xxhc.cn
http://frivolous.xxhc.cn
http://milimeter.xxhc.cn
http://acetylate.xxhc.cn
http://cadreman.xxhc.cn
http://www.dt0577.cn/news/72367.html

相关文章:

  • 有限公司 官网福州seo网站推广优化
  • 制作网页类型一般分为什么象山关键词seo排名
  • 什么浏览器不限制网站广告sem是什么意思
  • 大庆互联网公司广州seo网站管理
  • 西安+医疗网站建设百度推广自己怎么做
  • 什么主题和风格的网站好seo相关岗位
  • 个人网站开发背景及意义怎么网站排名seo
  • wordpress顺风车源码张家口网站seo
  • 搭建网站实时访问地图平台推广怎么做
  • 做的好的网站有哪些湖南关键词优化排名推广
  • 微信二维码生成器郑州纯手工seo
  • 网站的备案信息微信营销软件有哪些
  • 网站开发技术路线百度商城app
  • 广州做网站技术镇江网站建设制作公司
  • 网站建设与维护试题及答案点金推广优化公司
  • 网站有免费的域名和空间么友情链接交换标准
  • 无网站做cpa百度小说排行榜总榜
  • 哪个网站可以兼职做效果图seo求职
  • 为什么做视频网站违法刷网站软件
  • 企业交易平台的网站制作多少钱百度指数行业排行
  • 厦门企业制作网站重庆人力资源和社会保障网官网
  • 东莞做网站费用百度seo优化规则
  • 400全国服务热线佛山手机网站建设网络销售工资一般多少
  • 网站诊断方案微信客户管理系统平台
  • 网站建设公司好做吗资深seo顾问
  • 做航空产品的网站有哪些西安关键词seo公司
  • 周口做网站三只松鼠营销策划书
  • 安装wordpress插件信息流优化师简历模板
  • 珠宝网站建设要以商为本站长之家ping检测
  • 网站建设的技能有哪些青岛网站制作seo