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

眉山市网站建设_网站建设公司_小程序网站_seo优化

广州市建设交易服务中心网站,化工集团网站建设 中企动力,衡阳seo网络营销方案,网站维护怎么收费本地套接字示例[来源:Advanced Linux Programming] 要通过套接字连接同一台主机上的进程#xff0c;可以使用符号常量 PF_LOCAL 和 PF_UNIX所代表的本地命名空间。它们被称为本地套接字#xff08;local sockets#xff09;或者 UNIX 域套接字#xff08;UNIX-domain socke… 本地套接字示例[来源:Advanced Linux Programming] 要通过套接字连接同一台主机上的进程可以使用符号常量 PF_LOCAL 和 PF_UNIX所代表的本地命名空间。它们被称为本地套接字local sockets或者 UNIX 域套接字UNIX-domain sockets。它们的套接字地址用文件名表示且只在建立连接的时候使用。   套接字的名字在 struct sockaddr_un 结构中指定。你必须将 sun_family 字段设置为 AF_LOCAL 以表明它使用本地命名空间。该结构中的 sun_path 字段指定了套接字使用的路径该路径长度必须不超过 108 字节。而 struct sockaddr_un 的实际长度应由UN_LENG 宏计算得到。可以使用任何文件名作为套接字路径但是进程必须对所指定的 目录具有写权限以便向目录中添加文件。如果一个进程要连接到一个本地套接字则必须具有该套接字的读权限。尽管多台主机可能共享一个文件系统只有同一台主机上运行的程序之间可以通过本地套接字通信。 socket-server.c /* zzb 2011-11-17 22:30 高级Linux编程.pdf page101: socket-server.c 功能本地命名空间套接字服务器 */ #include stdio.h #include stdlib.h #include string.h #include sys/socket.h #include sys/un.h #include unistd.h int server(int client_socket) { int length; char *text; if(read(client_socket, length, sizeof(length)) 0) // 获取消息长度保存到length return 0; text malloc(length); // 分配用于保存信息的缓冲区 read(client_socket, text, length); printf(%s\n, text); if(!strcasecmp(text, quit)) // 忽略大小写比较字符串 { free(text); // 释放缓冲区 return 1; } free(text); return 0; } int main(int argc, char *argv[]) { const char* const socket_name argv[1]; int sock_fd; struct sockaddr_un name; int client_sent_quit_message; if((sock_fd socket(PF_LOCAL, SOCK_STREAM, 0)) -1) { perror(socket); return 1; } name.sun_family AF_LOCAL; strcpy(name.sun_path, socket_name); if(bind(sock_fd, (const struct sockaddr*)name, SUN_LEN(name)) -1) { perror(bind); return 1; } if(listen(sock_fd, 5) -1) { perror(listen); return 1; } do { struct sockaddr_un client_name; socklen_t client_name_len; int client_socket_fd; client_socket_fd accept(sock_fd, (struct sockaddr*)client_name, client_name_len); client_sent_quit_message server(client_socket_fd); close(client_socket_fd); }while(!client_sent_quit_message); close(sock_fd); // 关闭套接字文件 unlink(socket_name); // 删除套接字文件 return 0; } socket-client.c /* zzb 2011-11-17 22:37 高级Linux编程.pdf page103: socket-client.c 功能本地命名空间套接字服务器 */ #include stdio.h #include string.h #include sys/socket.h #include sys/un.h #include unistd.h void write_text(int socket_fd, const char* text) { int length strlen(text) 1; write(socket_fd, length, sizeof(length)); // 写入长度信息 write(socket_fd, text, length); // 写入消息 } int main(int argc, char *argv[]) { const char* const socket_name argv[1]; // 套接字文件路径 const char* const message argv[2]; // 要发送的消息 int socket_fd; struct sockaddr_un name; socket_fd socket(PF_LOCAL, SOCK_STREAM, 0); // 创建本地套接字 name.sun_family AF_LOCAL; strcpy(name.sun_path, socket_name); connect(socket_fd, (const struct sockaddr*)name, SUN_LEN(name)); // 连接套接字 write_text(socket_fd, message); // 向套接字写入数据 close(socket_fd); return 0; } 编译运行 [zcmsocket #78]$make gcc -g -c -o socket-server.o socket-server.c gcc -g -o socket-server socket-server.o gcc -g -c -o socket-client.o socket-client.c gcc -g -o socket-client socket-client.o [zcmsocket #79]$./socket-server /tmp/socket what can you do for me what are\nyou doing this program is great Quit [zcmsocket #80]$ 运行客户端 [zcmsocket #19]$./socket-client /tmp/socket what can you do for me [zcmsocket #20]$./socket-client /tmp/socket what are\nyou doing [zcmsocket #21]$./socket-client /tmp/socket this program is great [zcmsocket #22]$./socket-client /tmp/socket Quit [zcmsocket #23]$
http://www.ihoyoo.com/news/138127.html

相关文章:

  • 建设部网站取消园林资质wordpress评测
  • 在线图片编辑网站源码做网站选择哪家运营商
  • 酒店网站素材衡水制作网站
  • 荷泽网站建设姑苏企业建设网站公司
  • 郴州网站建设哪家做的好引流推广方法软件
  • 网站建设内容3000字wordpress怎么进入
  • 企业如何对自己的网站进行建设网页美工设计ppt
  • 个人网站 空间 多少够抖音代运营谈判技巧
  • c mvc制作网站开发网页制作与网站建设实战大全 视频
  • 安宁网站建设熊掌贪玩传奇
  • 有创意的个人网站网站备案工作
  • 上海景泰建设有限公司网站外贸网站怎么做seo
  • 有什么公司建网站多用户网络商城
  • 哪建设网站品牌推广公司简介
  • 招商网站如何做推广建湖做网站哪家好
  • 网站开发与维护专业如果做vr参观网站
  • 易语言怎么把网站音乐做进去帮人做网站要怎么赚钱
  • 做信公众号首图的网站做网站应规避的风险
  • wordpress媒体库 外链西安seo外包公司
  • 知名网站建设制作关于阅读类网站的建设规划书
  • 网站目录程序做男鞋的网站好
  • 做网站需要什么证明嘛网站建设商务代表故事
  • 做系统 和网站前端东莞网上推广教程
  • 建设网站就选用什么样的公司蛋糕店网站设计模板
  • 企业要建设一个网站需要多少钱仪器网站模板
  • 宜昌网站制作安徽建设工程造价信息网
  • 南阳做网站价格一站式服务平台官网
  • 过期域名网站推广赚钱 每单5元
  • 做水果网站弄个什么名字软件开发文档的作用
  • 辽阳建设网站公司报价东莞小程序开发解决方案