欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

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

  • 资源ID:16070210       资源大小:31KB        全文页数:6页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

利用流套接字实现一个简单的远程控制系统XX 大 学 计 算 机 学 院、软 件 学 院 实 验 报 告 学号: 姓名: 专业:软件学院 班级:09 第 3 周 课程名称 信息安全产品开发实践 实验课时 1 实验项目 远程控制系统 实验时间 2013/9/27 实验目的 流套接字与数据报套接字回顾 远程控制系统流程 实验环境 X86,Windows7,VMware9.0,Red Hat Enterprise Linux 5.0 实验内容(算法、程序、步骤和方法) 利用流套接字实现一个简单的远程控制系统: 客户端输入“quit”,客户端程序与服务器端程序打印退出信息,终止程序的执行; 客户输入命令,客户端将命令通过流套接字发送给客户端,服务器执行收到的命令,并将结果发送到客户端显示; 如果没有客户输入的命令,服务器发送命令非法信息,并在客户端显示该条信息。 编写实验报告: 列出程序运行状态、截图、配文字说明; 独立完成,打印报告,报告语言为中文,不少于4页A4,封面上书写姓名、学号。 (接上) 实验内容(算法、程序、步骤和方法) 修改代码: 编译 运行结果: 源代码: udpclient.c /* * = * * Filename: udpclient.c * * Description: : This program is used to demostrate how to implement 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 /* * = 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; struct 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(buffer); 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 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(buffer,SIZE,stdin); rvalue=write(sockfd,buffer,strlen(buffer),0); if (0=strcmp(buffer,“quitn“)|(0=strcmp(buffer,“QUITN“) fprintf(stderr,“quit.n“); break; if (0>rvalue) fprintf(stderr,“error in receiving datan“); continue; sscanf(buffer,“%s“,cmd); if (0=strcmp(“cd“,cmd)|(0=strcmp(“CD“,cmd) continue; len=sizeof(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“); 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“,cmd,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 (0>rvalue) fprintf(stderr,“error in sending datan“); continue; close(connected); /phrase 4:release the socket close(sockfd); return EXIT_SUCCESS; /* - end of function main - */ 数据记录 和计算 TCP套接字编程(cont.): 工作原理: 客户端接收用户输入的命令,客户端通过套接字将命令传送给服务器端, 服务器在收到用户的命令,对命令进行解析 在服务器端调用对应的命令 并将命令执行的结果发送给客户端,从而实现远距离控制的功能。 结 论 (结 果) 功过修改代码成功使用TCP实现远程控制。 小 结 通过本实验,我掌握了: 利用流套接字实现一个简单的远程控制系统,熟悉了流套接字与数据报套接字编程。 自己能做一个简单的远程控制系统流程 指导老师评 议 成绩评定: 指导教师签名:

注意事项

本文(利用流套接字实现一个简单的远程控制系统)为本站会员(xg****9)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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