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

中国建设银行英文网站安庆网站建设电话

中国建设银行英文网站,安庆网站建设电话,建站之星官网 discuz,做网站导航栏素材图一、UNIX 域流式套接字 本地地址 struct sockaddr_un { unsigned short sun_family; /* 协议类型 */ char sun_path[108]; /* 套接字文件路径 */ }; UNIX 域流式套接字的用法和 TCP 套接字基本一致#xff0c;区别在于使用的协议和地址不同 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://www.tj-hxxt.cn/news/130133.html

相关文章:

  • 仿淘宝电商网站开发报价企业网站建设太原网站建设
  • js做网站登录界面装修网页
  • 周大福网站建设主要工作有哪些公司建设网站
  • 网站怎么做更新互联网营销师培训教程
  • 南部县建设局网站wordpress教程创建网页
  • 网站建设与维护费套路网站怎么做的
  • 网络营销的主要形式有建设网站市场营销方案案例范文
  • 云南网站开发培训机构专业网站建设价格
  • 上海的网站开发公司wordpress评论去掉网址
  • 站长之家ping检测别墅装修装饰
  • 网站制作 沈阳网页制作源代码免费的
  • 惠州seo网站管理谷歌官网登录入口
  • 做网站不需要编程的软件合购WordPress
  • 苏州做物流网站电话主流网站编程语言
  • 太原网站空间wordpress做seo合适吗
  • 网站企业网站建设需求文档网络软件开发专业是做什么的
  • 营销网站建设都是专业技术人员柳州论坛网站建设
  • 聊城手机网站建设电话商丘建设网站
  • 顺德销售型网站建设网站建设分为哪几部分
  • 最流行的网站设计风格做牛仔裤的视频网站
  • 注册网站域名的入口是建个网站有什么用
  • 网站链接如何做二维码wordpress hta
  • 网站开发公司分析哈尔滨市哪里做淘宝网站
  • 贵州软件开发 网站开发php装修公司网站源码
  • 网站建设微商城多少钱id怎么编辑wordpress
  • 苏州网站建设及推广网站建设的需求文档
  • 郑州网站设计收费低佛山电子商务网站建设
  • qq空间网站是多少颐高养生园网站建设
  • 营销型网站建设试题新产品开发8个步骤
  • 制作二维码网站免费可以做积分的网站