编写语言:c
编译环境:Linux
老师布置了关于远程控制系统的改进,使服务段与多个客户端能够并发通信。在这个系统的操作中,客户端连上服务端之后,向服务端发送简单的控制指令,服务端收到控制指令后,进行处理,并将处理结果返回给客户端。
1.服务端代码
#include<stdlib.h>
#include<stdio.h>
#include<errno.h>
#include<string.h>0
#include<netdb.h>
#include<sys/types.h>
#include<netinet/in.h>
#include<sys/socket.h>
#include<unistd.h>
#include<a00rpa/inet.h>
#include <sys/wait.h>
#define portnumber 4500
//此函数的功能直接通过调用popen()函数实现,只是老师改进要求通过管道实现
void exec (char* command,char* true_result) //此函数实现popen()函数功能
{
FILE * in; char c;
char result[2048];
memset(result,0,2048);
int fd[2];
int pid;
if (pipe(fd)<0 ) //创建管道
printf("create pipe fail\n");
if ((pid = fork())<0)
printf("fork pipe fail \n");
else if (pid == 0 ) //创建子进程
{
close(fd[0]);// 子进程关闭fd[0]
du