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

差异基因做热图在线网站aso优化排名

差异基因做热图在线网站,aso优化排名,信息技术的网站建设是什么,wordpress crm分销插件文章目录前言一、服务器 server二、客户端 client三、并发通信演示四、程序源码前言 前些日子同“ Linux应用编程 ”专栏中发布过的TCP及UDP在Linux或Windows下的通信都为单进程下的Socket编程,若还存在一些套接字相关函数模糊不清,读者可移步“Socket编…

文章目录

  • 前言
  • 一、服务器 server
  • 二、客户端 client
  • 三、并发通信演示
  • 四、程序源码


前言

前些日子同“ Linux应用编程 ”专栏中发布过的TCP及UDP在Linux或Windows下的通信都为单进程下的Socket编程,若还存在一些套接字相关函数模糊不清,读者可移步“Socket编程下tcp通信”和“Socket编程下udp通信”重温学习。
本篇则是对以上俩篇的一个简单提升运用,或者说是对以后多线程/进程工作的简单示例。

相关知识运用:

  • PF_INET 和 AF_INET 的区别:在Windows中,AF_INET与PF_INET完全一样,而在Unix/Linux系统中,在不同的版本中这两者有微小差别。对于BSD,是AF,对于POSIX是PF。
  • bzero函数与memset函数: 俩函数功能为 置字节字符串s的前n个字节为零且包括‘\0’,但bzero已被标记为遗留函数,这里推荐使用memset函数。
  • fork()函数: 返回值为0时为子进程,返回值大于0时为父进程,返回值为其他数时为创建失败。
  • atoi函数: 把字符串转换成整型数的一个函数,int atoi(const char *nptr)函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等,如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。且该函数要求被转换的字符串是按十进制数理解的,atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。
  • htons: 是将整型变量从主机字节顺序转变成网络字节顺序, 就是整数在地址空间存储方式变为高位字节存放在内存的低地址处。

一、服务器 server

①创建套接字描述符

//创建一个socket文件,也就是打开一个网络通讯端口,类型是IPV4(PF_INET)+TCP(SOCK_STREAM)
int server_socket=socket(PF_INET,SOCK_STREAM,0);

②创建服务器地址结构

struct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr)); 
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(atoi(argv[1]));
server_addr.sin_addr.s_addr = INADDR_ANY;

③绑定套接字

bind(server_socket, (struct sockaddr*)&server_addr, sizeof(server_addr));

④监听套接字

listen(server_socket,10);

⑤多进程连接

client_socket = accept(server_socket, (struct sockaddr*)&client_addr, &client_addr_size);
int pid=fork();   //创建子进程
if(pid==0){       //子进程struct sockaddr_in client_in_addr;   // 创建临时客户端地址结构体用于存放开始accept到的客户端数据client_in_addr.sin_addr.s_addr=client_addr.sin_addr.s_addr;client_in_addr.sin_port=client_addr.sin_port;recv_len = recv(client_socket, buf, sizeof(buf), 0);  //接收客户端数据存入缓冲区buf中
}
else if(pid>0){    //父进程close(client_socket);
}
else{       //创建子进程失败,直接退出exit(-1);
}

二、客户端 client

①创建网络通信套接字描述符

int client_socket=socket(AF_INET,SOCK_STREAM,0);

②创建服务器的地址结构体

struct sockaddr_in server_addr;
memset(&server_addr, 0, sizeof(server_addr)); 
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(atoi(argv[2]));
server_addr.sin_addr.s_addr=inet_addr(argv[1]);

③连接服务器

connect(client_socket,(struct sockaddr*)&server_addr,sizeof(server_addr));

④收发数据

write(client_socket, buf, strlen(buf));   //向服务器发送缓冲区buf中的数据
read(client_socket, message, sizeof(message));   //读取服务器发过来的数据并存入缓冲区message中

三、并发通信演示

在这里插入图片描述

四、程序源码

若需程序源码可留言邮箱至评论区或直接私信 即可。

http://www.yayakq.cn/news/370305/

相关文章:

  • 网站中的图片展示功能该设计什么关于网站设计的价格
  • 微购物网站建设做网站前台后台是怎么连接的
  • 怎样做后端数据传输前端的网站wordpress 数据库 破解
  • 网站建设的域名是什么珠海做网站建设
  • 石家庄英文网站建设网站建设费税率多少
  • 鹿城区住房和城乡建设局网站做网站的封面图片哪里才有
  • 做市场调查的网站软文发布平台媒体
  • 网站优化哪个公司好龙华龙岗光明最新通告
  • 网站建设明细表wordpress amp自动
  • 柳州市安全教育平台百度seo一本通
  • 青岛网站建设加盟公司建设银行贷款业务网站
  • lnmp搭建网站企业级网站建设
  • 郑州市惠济区建设局网站龙岩网站设计 都找推商吧系统
  • 上海营销网站建站公司汶上做网站
  • 建设银行网上银行官方网站25个经典网站源代码
  • 个人建设视频网站制作网站修改方案
  • 简述网站推广的五要素淘宝网建设网站意义
  • 长春网站建设长春用cms建设网站课程宅门
  • 苍南县规划建设局网站强的小企业网站建设
  • 网站模板内容怎么添加图片不显示怎样在电脑登录wordpress
  • 哪里办网站不用备案扁平化 wordpress 主题
  • 东莞网站制作外包适合穷人的18个创业项目
  • 网站开发语言学习C 吗万源网站建设
  • 企业网站功能我做的网页怎么是危险网站
  • 微信网站怎么做下载附件wordpress 主要
  • 水墨背景风格企业网站模板济南建设网站的公司哪家好
  • 企业网站pc优化北京制作手机网站
  • 有网站模板怎么做网站wordpress修改邮箱文字
  • 怎么给汽车网站做推广阿里巴巴建网站
  • 店面建设网站的必要性政协网站建设方案