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

小程序网站开发太原wordpress 查询系统

小程序网站开发太原,wordpress 查询系统,如何建立游戏网站平台,军队采购网官网基于TCP的本地通信(服务器):创建流程:一、创建字节流式套接字(socket函数): int sock_fd socket(AF_LOCAL,SOCK_STREAM,0);二、创建服务器和客户机的本地网络信息结构体并填充服务器本地网络信…
  • 基于TCP的本地通信(服务器):
  • 创建流程:
  • 一、创建字节流式套接字(socket函数):
	int sock_fd = socket(AF_LOCAL,SOCK_STREAM,0);
  • 二、创建服务器和客户机的本地网络信息结构体并填充服务器本地网络信息结构体 (struct sockaddr_un):
  • 本地网络信息结构体:
	#include <sys/un.h>struct sockaddr_un {sa_family_t sun_family;               //AF_LOCALchar        sun_path[108];            //pathname};
	//填充服务器和客户机网络信息结构体struct sockaddr_un serveraddr,clientaddr;socklen_t serveraddr_len = sizeof(serveraddr);socklen_t clientaddr_len = sizeof(clientaddr);memset(&serveraddr,0,serveraddr_len);memset(&clientaddr,0,clientaddr_len);serveraddr.sun_family = AF_LOCAL;strcpy(serveraddr.sun_path,"./tcpserver");
  • 三、绑定字节流式套接字(bind函数):
	bind(sock_fd,(struct sockaddr *)&serveraddr,serveraddr_len);
  • 四、设置套接字为被监听状态(listen函数):
	listen(sock_fd,5);
  • 五、阻塞等待客户端连接(accept函数):
	accept(sock_fd,(struct sockaddr *)&clientaddr,&clientaddr_len);
  • 六、服务器端收发数据(recv函数、send函数):
			memset(buf,0,sizeof(buf));if(-1 == (nbytes = recv(accept_fd,buf,sizeof(buf),0))){perror("recv error");exit(-1);}else if(0 == nbytes){printf("客户端[%s]断开了连接\n",clientaddr.sun_path);break;}printf("客户端[%s]发来数据[%s]\n",clientaddr.sun_path,buf);//组装应答消息strcat(buf,"-------k");ret = send(accept_fd,buf,sizeof(buf),0);if(-1 == ret){perror("send error");exit(-1);}
  • 七、关闭套接字(close函数):
	close(accept_fd);close(sock_fd);
  • 示例代码:
	#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/socket.h>#include <sys/types.h>#include <netinet/ip.h>#include <sys/un.h>#include <arpa/inet.h>#include <stdbool.h>int main(int argc, char const *argv[]){//创建套接字int sock_fd = socket(AF_LOCAL,SOCK_STREAM,0);if(-1 == sock_fd){perror("socket error");exit(-1);}//填充服务器和客户机网络信息结构体struct sockaddr_un serveraddr,clientaddr;socklen_t serveraddr_len = sizeof(serveraddr);socklen_t clientaddr_len = sizeof(clientaddr);memset(&serveraddr,0,serveraddr_len);memset(&clientaddr,0,clientaddr_len);serveraddr.sun_family = AF_LOCAL;strcpy(serveraddr.sun_path,"./tcpserver");//服务器绑定套接字if(-1 == bind(sock_fd,(struct sockaddr *)&serveraddr,serveraddr_len)){perror("bind error");exit(-1);}//设置监听状态if(-1 == listen(sock_fd,5)){perror("listen error");exit(-1);}//阻塞等待客户端连接int accept_fd = 0;char buf[128] = {0};int nbytes = 0;int ret = 0;//提示信息printf("本地通信之TCP服务器启动!!!\n");while(true){   accept_fd = accept(sock_fd,(struct sockaddr *)&clientaddr,&clientaddr_len);if(-1 == accept_fd){perror("accept error");exit(-1);}//收发数据while(true){memset(buf,0,sizeof(buf));if(-1 == (nbytes = recv(accept_fd,buf,sizeof(buf),0))){perror("recv error");exit(-1);}else if(0 == nbytes){printf("客户端[%s]断开了连接\n",clientaddr.sun_path);break;}printf("客户端[%s]发来数据[%s]\n",clientaddr.sun_path,buf);//组装应答消息strcat(buf,"-------k");ret = send(accept_fd,buf,sizeof(buf),0);if(-1 == ret){perror("send error");exit(-1);}}close(accept_fd);}//关闭套接字close(sock_fd);return 0;}
  • 运行结果:
	本地通信之TCP服务器启动!!!客户端[./tcpclient]发来数据[hello]客户端[./tcpclient]发来数据[hi]客户端[./tcpclient]发来数据[I Love China!!!]
  • 特别注意:
  • strcpy(serveraddr.sun_path,"./tcpserver");tcpserver文件套接字文件
  • 如下所示:
	srwxrwxr-x 1 linux linux     0 1110 05:58 tcpserver
http://www.yayakq.cn/news/296231/

相关文章:

  • 做企业销售分析的网站wordpress标题修改
  • 响应式网站设计的规范建站公司收费标准
  • 怎么网上注册公司关键词首页优化
  • 什么叫做网站建设seo怎么发外链的
  • 网站改版301设置企业上云解决方案
  • 营销网站开发方案洛阳网站建设公司
  • 网站ico图标放在哪里wordpress H2标签
  • 树形菜单的网站代码聚名网平台
  • 网站开发前景巴中网站开发
  • 分类网站有哪些今天发生的重大新闻事件
  • 汕头网站建设制作公司江苏国龙翔建设公司网站
  • 在线室内设计网站强企网做网站
  • 郑州做网站企起与做网站有关的参考文献
  • 服务器搭建网站方案500字网站设计建设
  • 建设银行企业网上银行网站网站推广广告语
  • dw做的网站怎么放到服务器上视频剪辑制作公司
  • 南宁自助建站模板下载东莞网站(建设信科网络)
  • 慈溪电商网站建设公司企业网站找私人做什
  • 外贸网站展示还是商城wordpress播放上传视频
  • 中国建设投资集团 网站首页做网站链接
  • 织梦 电影网站 模板亚洲一线产区二线产区精华
  • 淘宝网站建设与经营论文炫酷网站首页
  • 关于继续做好网站建设得通知江苏华建建设股份有限公司网站
  • 怎么注册网站啊免费微网站哪个好用
  • 泰州建设局网站安监站通报wap网站和internet网站
  • 网站开发示例扬州做网站公司哪家好
  • 做网站要注册公司吗室内设计学校全国排名
  • 怎么查看网站是用什么编程语言开发的石家庄网站建设推广报价
  • 哪家网站建设公司分销渠道系统
  • 广州奕联网站开发外贸网站建设公司效果