- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
//运行环境 redhat9.0
//编译方式 cc -o server server.c cc -o ser_lilo ser_lilo.c
//运行方法 #./ser_lilo #./server
//ser_lilo.c 是服务器端支持模块(用来维护命名管道),server.c是主服务器模块(用来接收客记端连接)
//----------------------------server_lilo.c----------------------------//
#include fcntl.h
#include stdio.h
#include ctype.h
#include sys/types.h
#include netinet/in.h
#define FIFOSERVER ./server_fifo
#define FIFOCLIENT ./client_%d_fifo
#define PORT 1234
#define MSGSIZ 63
struct dataform{
pid_t dpid;
char data[MSGSIZ];
};
struct nodeform{
pid_t pid;
int fifo_id;
};
int main()
{
char c[MSGSIZ];
int server_fifo_id;
int client_fifo_id;
int i,m;
pid_t pid;
struct dataform my_data;
struct nodeform node[5];
char clientfifo[30];
char *q=exit;
for(i=0;i5;i++)
node[i].pid=0;
mkfifo(FIFOSERVER,0777);
if((server_fifo_id=open(FIFOSERVER,O_RDWR))==-1){
perror(open error);
exit(1);
}else{
}
while(1)
{
if(read(server_fifo_id,my_data,sizeof(struct dataform))==-1){
}else{
}
if(strlen(my_data.data)==0)
{
sprintf(clientfifo,FIFOCLIENT,my_data.dpid);
usleep(10000);
if((client_fifo_id=open(clientfifo,O_RDWR))==-1)
{
}else
{
for(i=0;i5;i++)
{
if(node[i].pid==my_data.dpid)
{
break;
}
if(node[i].pid==0)
文档评论(0)