利用流套接字实现一个简单的远程控制系统

上传人:xg****9 文档编号:16070210 上传时间:2020-09-17 格式:DOC 页数:6 大小:31KB
收藏 版权申诉 举报 下载
利用流套接字实现一个简单的远程控制系统_第1页
第1页 / 共6页
利用流套接字实现一个简单的远程控制系统_第2页
第2页 / 共6页
利用流套接字实现一个简单的远程控制系统_第3页
第3页 / 共6页
资源描述:

《利用流套接字实现一个简单的远程控制系统》由会员分享,可在线阅读,更多相关《利用流套接字实现一个简单的远程控制系统(6页珍藏版)》请在装配图网上搜索。

1、利用流套接字实现一个简单的远程控制系统XX 大 学 计 算 机 学 院、软 件 学 院 实 验 报 告 学号: 姓名: 专业:软件学院 班级:09 第 3 周 课程名称 信息安全产品开发实践 实验课时 1 实验项目 远程控制系统 实验时间 2013/9/27 实验目的 流套接字与数据报套接字回顾 远程控制系统流程 实验环境 X86,Windows7,VMware9.0,Red Hat Enterprise Linux 5.0 实验内容(算法、程序、步骤和方法) 利用流套接字实现一个简单的远程控制系统: 客户端输入“quit”,客户端程序与服务器端程序打印退出信息,终止程序的执行; 客户输入命令

2、,客户端将命令通过流套接字发送给客户端,服务器执行收到的命令,并将结果发送到客户端显示; 如果没有客户输入的命令,服务器发送命令非法信息,并在客户端显示该条信息。 编写实验报告: 列出程序运行状态、截图、配文字说明; 独立完成,打印报告,报告语言为中文,不少于4页A4,封面上书写姓名、学号。 (接上) 实验内容(算法、程序、步骤和方法) 修改代码: 编译 运行结果: 源代码: udpclient.c /* * = * * Filename: udpclient.c * * Description: : This program is used to demostrate how to impl

3、ement a udp rpc control server * * Version: 1.0 * Created: 2013骞?9鏈?5鏃?16鏃?6鍒?5绉? * Revision: none * Compiler: gcc * * Author: Gang liang * Organization: Computer Science College, Sichuan University * * = */ #include #include #include #include #include #define PORT 8888 #define SIZE 2048 #include /*

4、 * = FUNCTION = * Name: print_useage * Description: * = */ void print_usage (char* cmd ) fprintf(stderr,“Usage:%s ip addressn“,cmd); /* - end of function print_useage - */ /* * = FUNCTION = * Name: main * Description: * = */ int main ( int argc, char *argv ) int sockfd; struct sockaddr_in client; st

5、ruct sockaddr_in server; int len; int port; int rvalue; char bufferSIZE; char cmd10; /* these two vars used to deal with cd command */ /char path2028; /init sockfd=-1; bzero(&client,sizeof(struct sockaddr); bzero(&server,sizeof(struct sockaddr); len=-1; rvalue=-1; port=PORT; memset(buffer,0,sizeof(b

6、uffer); bzero(cmd,10); /bzero(path,2048); if (2!=argc) print_usage(argv0); exit(-1); /phrase 1: The creation of the socket sockfd=socket(AF_INET,SOCK_STREAM,0); if (-1=sockfd) fprintf(stderr,“error in creating socketn“); exit(-1); /Communation with the server.Attention:Client should send data to the

7、 server first. /Set the destinations address server.sin_family=AF_INET; server.sin_addr.s_addr=inet_addr(argv1); server.sin_port=htons(port); if (-1=connect(sockfd,(struct sockaddr*)&server,sizeof(server) perror(“connect errorn“); close(sockfd); return -1; while(1) fprintf(stderr,“TCP“); fgets(buffe

8、r,SIZE,stdin); rvalue=write(sockfd,buffer,strlen(buffer),0); if (0=strcmp(buffer,“quitn“)|(0=strcmp(buffer,“QUITN“) fprintf(stderr,“quit.n“); break; if (0rvalue) fprintf(stderr,“error in receiving datan“); continue; sscanf(buffer,“%s“,cmd); if (0=strcmp(“cd“,cmd)|(0=strcmp(“CD“,cmd) continue; len=si

9、zeof(struct sockaddr); rvalue=read(sockfd,buffer,SIZE,0); if (0 #include #include #include #include #include #define PORT 8888 /*server port */ #define SIZE 2048 /* 2K BUFFER */ int exec (char* command,char* result) FILE * in; int len; char c; len=0; bzero(result,sizeof(result); in=popen(command,“r“

10、); if (NULL=in) fprintf(stderr,“error in create a pipen“); return -1; while(c=fgetc(in)!=EOF)&(lenrvalue) fprintf(stderr,“error in receiving datan“); continue; recv_bufrvalue-1=0; if (0=strcmp(recv_buf,“quit“) fprintf(stderr,“the client is quitn“); close(connected); break; sscanf(recv_buf,“%s %s“,cm

11、d,path); if (0=strcmp(“cd“,cmd) |(0=strcmp(“CD“,cmd) chdir(path); continue; fprintf(stderr,“the result is n%s“,send_buf); exec(recv_buf,send_buf); rvalue=-1; rvalue=write(connected,send_buf,strlen(send_buf); if (0rvalue) fprintf(stderr,“error in sending datan“); continue; close(connected); /phrase 4

12、:release the socket close(sockfd); return EXIT_SUCCESS; /* - end of function main - */ 数据记录 和计算 TCP套接字编程(cont.): 工作原理: 客户端接收用户输入的命令,客户端通过套接字将命令传送给服务器端, 服务器在收到用户的命令,对命令进行解析 在服务器端调用对应的命令 并将命令执行的结果发送给客户端,从而实现远距离控制的功能。 结 论 (结 果) 功过修改代码成功使用TCP实现远程控制。 小 结 通过本实验,我掌握了: 利用流套接字实现一个简单的远程控制系统,熟悉了流套接字与数据报套接字编程。 自己能做一个简单的远程控制系统流程 指导老师评 议 成绩评定: 指导教师签名:

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!