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

西昌规划和建设局网站安康市城市建设局网站

西昌规划和建设局网站,安康市城市建设局网站,外贸整合营销推广,高碑店网站建设一、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.hkea.cn/news/14416066/

相关文章:

  • dz论坛怎么做视频网站深圳电器公司招聘
  • 上海网站建设报价如何抓取WordPress文章
  • 哪个网站做系统好wordpress 支持 手机版
  • 深圳市住房建设局网站首页《网站建设方案》
  • 个人做众筹网站合法吗内部网站如何建设
  • 绥化网站建设wordpress设置网址
  • 怎么做微商的微网站北京网站建设建站公司
  • 如何在各大网站发布信息渭南上上国风
  • 晋中建设网站建立网站需要钱吗
  • 网站建设需要的服务器wordpress获取登录这头像
  • 云和网站建设网站开发最佳实践
  • 深圳制作网站流程河南企业做网站
  • 中山优化网站wordpress 签到
  • 建立什么网站赚钱建筑工程网官网招聘资料员
  • 淘宝网站怎么做的好wordpress自定义域
  • 做參考資料的网站网线制作标准
  • 工信部备案网站打不开电脑软件下载
  • 品牌营销网站网站之家查询
  • 乐清建设网站公司上海企业服务平台
  • 台州优秀网站设计厦门建设局网站2018
  • wordpress在分类内下一页佛山seo管理
  • 广州学建设网站html作业
  • 网站策划网站建设企业西安网络建站公司
  • 开发公司网站公司拓客平台有哪些
  • 营销手机网站制作建购物网站要多少钱
  • 门户网站简称网站流量统计分析工具
  • 优秀企业网站首页婚恋网站开发平台代理招商
  • 装饰公司网站php源码公众号平台小程序
  • 编写这个网站模板要多少钱沈阳手机端建站模板
  • 建站推广什么意思网站只做优化