基于Socket通信的远程控制系统设计-毕业论文


    浙江工业学江学院毕业设计(文)                                                      
    1 绪
    11 远程控制系统概述
    远程控制网络台控端计算机远距离控制台控端计算机技术远程控制系统般分客户端程序(Client)服务器端程序(Server)两部分通常客户端程序安装控端计算机服务器端程序安装控端计算机[1]时客户端程序控端计算机中服务器端程序发出信号建立特殊远程服务然通远程服务种远程控制功发送远程控制命令控制控端计算机中种应程序运行[2]
    操作者客户端计算机控制服务器端计算机时坐服务器端计算机屏幕前样启动服务器端计算机应程序服务器端计算机文件资料甚利服务器端计算机应程序服务器端计算机外部印设备(印机)通信设备(调制解调器者专线等)进行印访问互联网利遥控器遥控电视音量改变频道者开关电视机样[3]控端计算机键盘鼠标指令传送远程计算机进行操作似眼前计算机进行实质远程计算机中实现开文件网浏览载等存储远程控端计算机中[4]
    12 国外研究现状应
    计算机远程控制技术始DOS时代时技术没什变化网络发达市场没更高求没引起更关注着网络高度发展计算机理技术需远程操作控制技术越越引起关注远程控制般支持面网络方式:LANWAN拨号方式互联网方式外远程控制软件支持通串口口红外端口远程机进行控制(里说远程计算机限定距离范围计算机)传统远程控制软件般NETBEUINETBIOSIPXSPXTCPIP等协议实现远程控制着网络技术发展远程控制软件提供通Web页面JAVA技术控制远程计算机样实现操作系统远程控制例数技通科技术限公司推出全球第套基中文JAVA跨台远程控制软件——易控[5]
    应方面国外远程控制方面应十分广泛进展迅速体分种:计算机网络身性监控种应动踪目标计算机屏幕变化获取目标计算机登录口令种密码类信息获取目标计算机系统信息限制目标计算机系统功意操作目标计算机文件目录远程关机发送信息等种监控功网络理员技术服务员需远程办公员说远程控制提供种便捷高效手段著名
    pcAnywhere软件ICE冰河软件等种应二现场状况实时监控酒店银行住宅等系统监视方面种应摄机云台实际种动监视系统三作业现场效数采集监视种动监控方式水文水利电力机械生产等方面目前基特网远程控制国外电程度研究相说西方国家信息技术计算机技术发展优势研究基特网远程控制方面相早集中机器领域例:美国南加州学研制播种浇水远程控制花园Telegarden英国Bradford学远程机器远镜系统澳利亚Wollogong学拾取木块Roboty系统德国Hanoi塔方法搬运木块Net.Robot等1997年美国国家航空航天局(National Aeronautics and Space AdministrationNASA)研制火星旅居者远程控制机器已成功应火星计划2004年1月NASA勇气号远程机器成功登陆火星[7]国**工业学研制基特网Telerobot远程控制机器
    13 章结
    章首先介绍远程控制系统基概念组成部分通远程控制系统实现诸功传统远程控制系统进行说明时介绍远程控制系统发展历史国外远程控制三方面应通世界国远程控制成功案例介绍远程控制系统领域应说明远程控制系统国发展空间
    2 系统相关技术
    21 远程控制技术
    远程控制技术指理员异通计算机网络异拨号双方接入Intetnet等手段连接需控制计算机控计算机桌面环境显示计算机通计算机远方计算机进行配置软件安装程序修改等工作通远程控制技术实现远程办公远程教育远程维护远程协助等提高工作效率工作兴趣实现高效率低成
    211 远程控制流程
    远程控制系统通常客户端服务器端两部分组成通客户端服务器端运行相应程序实现控制功系统实现基功流程简化:
    1.服务器端运行相应远程控制软件服务器程序服务器端某端口处监听状态(软件默认端口设置5150)样服务器端计算机时刻处监听远程计算机连接请求状态
    2.服务器端程序运行客户端计算机中运行相应程序客户端程序运行客户端程序时会指定连接服务器IP址端口(软件初始化服务器址计算机址端口5150)程序运行点击连接会网络搜索指定计算机
    3.搜索指定计算机客户端计算机服务器端指定端口发送连接请求果服务器计算机端口处监听状态服务器端接收客户端连接请求根设定值客户端发送接受请求确认信号
    4.客户端输入登录信息确认会服务器端发送服务器端接收客户端发户信息开始客户端输入户进行合法性确认果符合登录条件拒绝户连接
    5.果服务器端确认客户端输入户符合服务器端计算机条件服务器允许客户端进行步连接样整软件连接程完成
    212 远程控制系统结构
    远程控制系统设计中通常采典型CS结构客户端服务器端两部分构成客户服务器模式显著特点非等作客户端相服务器端处称位服务器端提供服务客户端提供请求[8]结构图21
    设计客户端服务器端时功需求设计客户端界面简单面象易操作服务器端实现控制功实现户强行关闭界面简单做隐藏
    CS结构发展历两阶段:两层结构三层结构
    1.两层结构:两部分构成:前端客户机通常PC机完成户界面显示接受数输入校验数效性台数库发请求接受返回结果处理应逻辑端服务器运行DBMS提供数库查询理应逻辑前端端存储程形式
     
    图21 CS模型结构图
    2.三层结构:利中间件应分表示层业务逻辑层数存储层三处理层次根逻辑应划分三层次具体物理划分较组合种类基三层结构应系统具备型机系统稳定安全处理力高等特性时拥开放系统成低扩展性强开发周期短等优点中间件作构造三层结构应系统基础台提供种功:负责客户机服务器间服务器间服务器间连接通信实现应数库高效连接提供三层结构应开发运行部署理台[9]
    设计远程控制系统客户端服务器端时功需求设计客户端界面面控制理员应该具良交互性包含相应帮助文件易理员操作服务器端实现控制功实现隐藏功[10]
    22 Socket技术
    CS结构原理端提供服务端接受服务作服务器机开端口进行监听果客户端请求Socket正确设计带极方便种应程序够Windows环境利进行种网络通信[11]
    221 Socket概念
    20世纪80年代初美国政府高级研究工程机构(ARPA)加利福尼亚学Berkeley分校提供资金UNIX操作系统实现TCPIP协议项目中研究员TCPIP网络通信开发应程序接口(API)API称Socket接口天Socket接口TCPIP网络通APIinternet进行应开发通API[12]
    套接口通信端端找应名字正套接口类型相关进程套接口存通信域中套接口通常域中套接口交换数应程序网络传输接收信息通套接口实现应开发中文件句柄样Socket句柄进行读写操作套接字编程包括网间进程通信客户机服务器模式两方面容
    进程通信概念初源单机系统进程址范围运行保证量相互通信进程间互干涉协调致工作操作系统进程通信提供相应设施
    UNIX BSD中道(Pipe)命名道(Named Pipe)软中断信号(Signal)UNIX System V消息(Message)享存储区(Shared Memory)信号量(Semaphone)等仅限机进程间通信网间进程通信解决计算机进程间相互通信问题(机进程通信成中特例)首先解决网间进程标识问题计算机进程进程号(Process ID)作唯标识网络环境计算机独立分配进程号唯标识该进程例计算机甲赋予某进程号48乙计算机中存48号进程48号进程句话没意义次操作系统支持网络协议众协议工件方式址格式样网间进程通信解决重协议识问题[13]
    TCPIP网络应中通信两进程间相互作模式客户机服务器模式(ClientServer)客户服务发出服务请求服务接收请求提供相应服务[14]客户机服务器模式建立基两点:首先建立网络起网络中软硬件资源运算力信息均等需享造拥众资源机提供服务资源较少客户请求服务非等作:次网间进程通信完全异步相互通信进程间存父子关系享存缓区需种机制希通信进程间建立联系两者数交换提供步基客户机服务器式TCPIP[15]
    222 Socket类型
    1.流式套接字(SOCKSTREAM)
    流式套接字提供种面连接传输方法数差错重复发送发送序进行接收单数报整数包流式套接字提供种流式数传输流式套接字系TCP外数传输时果连接断开应程序会通知流式套接字设流量控制避免数流超限数成字节流长度限制[16]FTP种套接字
    2.数报套接字(SOCKE_DGRM)
    数报套接字提供种非连接数包(Packet)通信方式里指发送数包获担保保证数包发送序达目数包独立形式发送提供错保证数丢失重复序混乱实现分组数报止次发送
    SocketTCPIP实现数报套接字户数报协议(UDP)然通常情况局域网连接两台计算机进程间进行通信时会出现数包发送没序达重复发送情况编写应程序时应该注意检测意外发生事件应具备处理出现情况力然果非常复杂网络编写通信应程序应该考虑数报套接字性果应程序没处理问题崩溃数报套接字发送数包者记录数时然外数报套接字提供目发送广播数包力
    3.原始套接字(SOCKE_RAW)
    该接口允许较低层协议IPICMP直接访问通常检验新协议实现访问现服务配置新设备[17]
    223 基套接字函数调
    首先客户端服务器端创建数套接字接着服务器调bind()函数套接字分配端口(开发应程序时公认端口通常指定例程序端口指定5150样客户端服务器端端口表示服务器套接字)旦服务器公认端口分配套接字客户端服务器端sendto()recvfrom()发送接收数报直完成传输然调closeSocket()关闭套接字[18]
    23 章结
    章首先介绍远程控制系统功实现流程分析CS结构CS结构发展阶段:两层结构三层结构章着重介绍Socket技术Socket技术概念出发介绍Socket技术发展程方面应介绍Socket技术类型基套接字函数调
    浙江工业学江学院毕业设计(文)                                                      
    3 系统需求分析
    31 系统功模块
    着计算机技术断发展处理务越越计算机程中会工作点试图通方计算机控制计算机课题设计帮助者远距离控制计算机提高工作效率降低成该设计采二层CS结构100Mps Ehternet校园网环境中进行[19]通IP端口号确定连接服务器端进行数传输系统功模块进行详细描述
    311 客户端功
    客户端包括三部分:监听连接发送消息监视屏幕监听连接监听服务器端否开启连接开启连接发送连接请求未开启连接直处监听状态发送消息客户端服务器端发送信息实现远程控制功监视屏幕通发送屏幕数监视服务器端屏幕利鼠标键盘完全控制服务器端客户端功图31示
     
    图32 客户端功模块图
     
    312 服务器端功
    系统控制功服务器端实现服务器端动建立连接通监听动接受客户端连接请求建立连接客户端通远程控制服务器实现功包括机理屏幕控制系统理文件理机理包括监听机连接机屏幕控制包括键盘控制鼠标控制屏幕抓取系统理包括信息获取信息修改远程关机远程重启文件理包括传文件载文件读取文件删文件命名文件创建文件图32示
    32 系统工作流程
    系统工作时首先调Socket类构造函数服务器指定IP址指定机名指定端口号参数创建Socket负责监听客户端请求客户端创建Socket时服务器端发送服务连接请求服务器端生成新Socket
    原Socket处监听状态
    服务器端接收连接请求服务器端处理请求分析否空闲繁忙阻塞空闲接受请求服务器端客户端建立连接客户端发出控制写入时服务器Fork()出子进程专门处理该客户完成服务器端客户端远程控制实现客户端服务器端远程控制完成整操作父进程关闭新Socket继续处理客户进程服务器监听SocketFork出子进程子进程关闭产生新Socket客户交换信息直方关闭连接子进程终止关闭Socket
    33 章结
    章CS模式出发通图形介绍客户端功模块:监听连接发送消息监视屏幕服务器端功模块:机理屏幕控制系统理文件理时介绍远程控制系统详细工作流程
     
    4 系统设计实现
    41 客户端设计
    客户端工作时首先服务器端发送身份信息请求服务器建立连接果通验证定时发送屏幕控制数时接受户输入转换成相应控制信息然发送服务器端界面设计采简洁明设计风格图41示
     
    图41 客户端界面示意图
    411 建立连接功设计
    通远程网络控制通信时首先指定登录计算机IP址端口号进行远程控制连接样具更高安全性客户端连接中通CMainWndOnTimer()函数建立连接连接显示新屏幕未连接选择菜单退出关闭Socket清Socket
    void CMainWndOnTimer(HWND hWndUINT iId)
    {
    果连服务器
    if (fConnected)
    {
    新屏幕
    GetScreen()
    }
    }
    处理WM_COMMAND消息
    void CMainWndOnCommand(HWND hWndint iIdHWND hWndCtlUINT iCodeNotify)
    {
    选择菜单退出
    if (iId IDM_EXIT)
    {
    否连服务器
    if (fConnected)
    {
    发送结束消息服务器
    memset(szMouseMessage'\0'sizeof(szMouseMessage))
    strcpy(szMouseMessageDISCONNECT_MSG)
     
    iSent Send(sClientszMouseMessage)
    关闭socket
    closesocket(sClient)
    清socket
    412 发送消息功设计
    定义两字符串变量:m_csSendm_csRead实现客户端服务器端消息互连利Send()函数实现数传输返回结果信息显示窗口显示出通CMainWndSetInstance()函数处理消息
    void CMainWndSetInstance(HINSTANCE hInst)
    {
    m_hInst hInst
    }
    处理WM_CREATE消息
    服务器端利数组类带mid()函数提取命令实现命令筛选控制更利服务器客户端发送命令执行
    413 屏幕控制功设计
    屏幕控制整程序重功模块时服务器客户端实现远程屏幕监视方面较麻烦复杂程序里更通屏幕监视进步控制远程计算机[20]采通服务器端抓取服务器端桌面图形捕获鼠标键盘相应函数通服务器客户端Socket连接发送客户端
    IntSelectProtocols(DWORDdwSetFlagsDWORD dwNotSetFlagsLPWSAPROTOCOL_INFOlpProtocolBufferLPDWORD lpdwBufferLengthWSAPROTOCOL_INFO *pProtocol)
    LoadWinsock装载初始化Winsock绑定址创建监听Socket等候客户端连接
    服务器端抓出图形键盘鼠标等相应函数联系起捕获控制鼠标键盘服务器端图形显示区域里响应相应位置利返回鼠标键盘函数操作调鼠标键盘函数操作实现服务器端控制
    鼠标键盘消息相关程序:
    void DispatchWMMessage(char *szString)
    {
    鼠标消息
    struct {char *szWMMouseMsg}
    WMMouseMsg {WM_MMWM_LBDWM_LBUWM_LBK
    WM_MBDWM_MBUWM_MBK
    WM_RBDWM_RBUWM_RBK}
     
    键盘消息
    struct {char *szWMKeyBdMsg}
    WMKeyBdMsg {WM_KDWM_KU}
    服务器端客户端第次发送获取屏幕命令时客户端非立截屏然数发送服务器端考虑客户端屏幕分辨率致情况客户端首次收服务器端屏幕监控命令应先客户端前屏幕分辨率发送服务器端服务器端窗口创建矩形区域显示客户端桌面图片然屏幕数传输首先创建屏幕高度宽度确认接收等客户端停发送屏幕数服务器端区分帧屏幕客户端发送屏幕数前屏幕数尾部添加10字节定义数包服务器端次接收数会检验数包尾部定义数包果表示帧图片传输完毕
    客户端接收服务器端桌面图片数时图片直接表示窗口图片数发送前压缩应先解压解压图片表示窗口然发送请求帧桌面图片请求相关程序:
    void SendResolution(SOCKET MySocket)
    {
    char szMessage[81]
    DWORD iSentiRecv
    建立屏幕宽度
    memset(szMessage\0’sizeof(szMessage))
    sprintf(szMessagediWidth)
    iSent Transmit(MySocketszMessagestrlen(szMessage))
    接收确认
    memset(szMessage\0’sizeof(szMessage))
    iRecv recv(MySocketszMessage810)
    szMessage[iRecv] \0’
    建立屏幕高度
    memset(szMessage\0’sizeof(szMessage))
    sprintf(szMessagediHeight)
    iSent Transmit(MySocketszMessagestrlen(szMessage))
    接收确认
    memset(szMessage\0’sizeof(szMessage))
    iRecv recv(MySocketszMessage810)
    szMessage[iRecv] \0’
    }
    通Socket发送区域显示位图
    IntSelectProtocols(DWORDdwSetFlagsDWORD dwNotSetFlagsLPWSAPROTOCOL_INFOlpProtocolBufferLPDWORD lpdwBufferLengthWSAPROTOCOL_INFO *pProtocol)
    LoadWinsock装载初始化Winsock绑定址创建监听Socket等候客户端连接
    减CPU利率禁止Socket数发送缓设置SO_SNDBUF0 winsock直接发送数客户端数缓发送
    客户端线程函数函数等候客户端程序发送消息
    果消息REFRESH发送前桌面图片
    果消息DISCONNECT结束客户端连接
    果消息WM_开头根消息类型服务器端执行该消息
    42 服务器端设计
    服务器端程序远程控制软件体远程控制软件体远程控制软件具体功服务器端实现客户端负责传送执行命令显示返回结果操作控制服务器端实现远程控制服务器端求运行相关程序时应该具定隐藏性容易客户端户发现关闭界面简单设置IP址端口号点击确定键隐藏界面图42

     
    图42 服务器端界面示意图
    设计服务器端客户端传送数时霍夫曼压缩方法压缩图片霍夫曼压缩方法1952年文文件建立基原理频繁数较短代码代少数较长代码代数代码相代码二进制码码长度变:原始数序列ABACCDAA编码A(0)B(10)C(110)D(111)压缩010011011011100产生霍夫曼编码需原始数扫描两遍第遍扫描精确统计出原始数中值出现频率第二遍建立霍夫曼树进行编码需建立二叉树遍历二叉树生成编码数压缩原速度较慢简单效广泛应
    421 机监听功设计
    服务器端Socket开始运行直保持监听状态等客户端连接首先进行Socket初始化IP端口号通ServerDlgOnSysCommand()进行监听
    m_hMenu GetMenu(m_hWnd)
    EnableMenuItem(m_hMenuIDM_STARTSERVERMF_BYCOMMAND|MF_ENABLED)
    EnableMenuItem(m_hMenuIDM_STOPSERVERMF_BYCOMMAND|MF_GRAYED)
    Winsock初始化方
    WSADATA wsd
    char szString[255]
    char name[20]
    装入Winsock22版
    if (WSAStartup(0x202&wsd) 0)
    {
    sprintf(szStringFailed to load Winsock)
    MessageBox(NULLszStringRemote ServerMB_OK)
    return 1
    }
    机IP址
    GetLocalHostName(name)
    GetIpAddress(name&m_ip[0]&m_ip[1]&m_ip[2]&m_ip[3])
    void ServerDlgOnSysCommand(UINT nID LPARAM lParam)
    {
    if ((nID & 0xFFF0) IDM_ABOUTBOX)
    {
    CAboutDlg dlgAbout
    dlgAboutDoModal()
    }
    else
    {
    CDialogOnSysCommand(nID lParam)
    }
    }
    422 鼠标键盘控制功设计
    软件中客户端通网络控制服务器端计算机鼠标键盘已达远程控制服务器端目鼠标定位输入设备控制鼠标控制鼠标屏幕位置控制鼠标键操作实现鼠标操作首先解鼠标操作关函数结构面介绍函数结构
    1.mouse_event()函数原型:
    void mouse_event (DWORD dwFlageDWORD dxDWORD dwDataDWORD dwExtrainfo)
    函数mouse_event()鼠标进行移动键操作
    2.Sendinput()函数
    Sendinput函数集成键盘键鼠标移动键操作
    3.Input结构
    Input结构定义:
    Typedef struct tagINPUT
    {
    DWORD type
    Union 
    {
    MOUSEINPUT   mi
    KEYBDINPUT    ki
    HARDWAREINPUT   hi
          }
         } INPUT*PINPUT FAR *LPINPUT
    中成员type指明输入事件类型取值
    (1)INPUT_MOUSE:鼠标事件联合体mi结构mi结构定义:
    Typedef struct tagMOUSEINPUT
    {
    LONG dx
    LONG dy
    DWORD mouseData
    DWORD dwFlags
    DWORD time
    DWORD dwExtraInfo
    }MOUSEINPUT *PMOUSEINPUTFAR*LPMOUSEINPUT
    成员变量类似前面mouse_event()函数参数
    (2)INPUT_KEYBOARD:键盘事件联合体ki结构定义:
    Typedef struct tagKEYBDINPUT
    {
    WORD wVk
    WORD wScan
    DWORD dwFlags
    DWORD time
    DWORD dwExtraInfo
    }KEYBDINPUT*PKEYBDINPUTFAR *LPKEYBDINPUT
    中成员wVk指定键虚拟键值取值范围1~254
    4.SetCursorPos()函数移动光标指定位置果指定位置超出屏幕系统会动调整光标位置屏幕范围
    原型声明:
    BOOL SetCursorPos(int X int Y)
    5.GetCursorPos()函数获取光标位置原型声明:
    BOOL GetCursorPos(LPPOINT lpPoint)参数lpPoint指接收屏幕坐标结构体果调成功函数返回非0值否返回0值
    6.OnMouseMove()函数
    函数OnMouseMove()原型:
    afx_msg void onMouseMove(UINT nFlagsCPOINT point)
    鼠标窗口移动时调该函数OnMouseMonve()函数两参数nFlags指明否键
    423 屏幕抓取功设计
    远程控制实践中客户端户想知道服务器端户干什般两种方法种方式记录服务器端键盘鼠标形成文文件然文件发客户端客户端户通查文件方式解服务器端户开程序敲键样然知道户操作直观查阅起方便时种方式种方式服务器端抓取前屏幕形成位图文件然该文件发送客户端计算机显示出实现抓取远程屏幕
    实现远程抓取屏幕必须解位图相关结构体示:
    1.RECT结构
    Typedefstruct tagRECT
    {
    LONG left左角X坐标
    LONG top左角Y坐标
    LONG right右角X坐标
    LONG bottom右角Y坐标
    }RECT
    2.BITMAP结构
    typedef struct tagBITMAP
    {
    int bmType指定位图类型逻辑位图该值0
    int bmWidth指定位图宽度象素单位该值必须0
    int bmHeight指定位图高度象素单位该值必须0
    int bmWidthBytes指定条光栅占字节数该值必须取偶数
    BYTE bmPlanes位图调色板颜色数
    BYTE bmBitsPixel点美国调色板接颜色位数
    LPVOID bmBites位图位值址指针
    }BITMAP
    3.BITMAPFILEHEADER结构
    该结构定义包含设备独立位图文件类型文件布局通常时面紧BIMAPINFO结构定义:
    typedef struct tagBITMAPFILEHEADER
    {
    WORD bfType文件类型想取BM
    DWORD bfSize位图文件字节位单位
    WORD bfReserved1保留必须0
    WORD bfReserved2保留必须0
    DWORD bfoffBits知道BITMAPFILEHEADER结构位图位值间偏移量字节单位
    }BITMAPFILEHEADER
    424 信息获取修改功设计
    远程控制软件中客户端通软件获服务器端计算机基信息例存信息操作系统信息等修改控制端计算机系统配置获系统信息通系统API实现修改系统配置两种方式种直接修改系统配置文件包括wininisysteminisystemsysautoexecbat等文件种方式修改系统注册表软件修改系统配置时候单纯查配置系统文件手工修改文实现功出安全考虑想通修改服务器端系统配置服务器端系统崩溃等
    程序设置int_chdir(const char*dirname)改变前目录
    int_chdir( int drive)改变前驱动器
    char*_getcwd(char*bufferint maxlen)读取前目录
    char*_getcwd( int driverchar*bufferint maxlen )指定驱动器读取前目录
    int_mkdir( const char*dirname )建立目录
    int_rmdir( const char*dirname )删目录
    DOS启动会动运行autoexecbat条文件般里面装载次必程序:path(设置路径)smartdrv(磁盘加速)mouse(鼠标启动)mscdex(光驱连接)doskey(键盘理)set(设置环境变量)等系统信息存储重信息般改动CONFIGSYSDOS系统中重文件配置直接影响系统效率果配置容易导致服务器端系统崩溃
    425 远程关机重启功设计
    远程控制软件中时需重启服务器端者强制关闭远程计算机例远程教学中老师发现远程学生浏览课程关容甚玩游戏时先发送消息予警告果学生听老师强行学生计算机重启者强行关机
    系统中客户端服务器端发送关命令服务器端收命令执行相应操作实操作服务器端执行操作函数ExitWindowsEx()实现函数原型:
    BOOL ExitWindowsEx(UINT uFlagsDWORD dwReserved)
    调函数成功ExitWindowsEx()返回非0值否返回0果实现功调GetVersion()函数获取操作系统版操作系统Windows 2000时需设置调进程权限进行重新启动计算机等相关操作
    426 文件理功设计
    远程控制中文件理包括文件传载删文件目录浏览文件更名更改文件属性执行文件等果通读取文件发送客户端实现功相简单功通FTP(文件传输协议)功实现该程序中FTP功实现模块
    利FTP功实现功首先FTP服务器建立连接连接方法通常两步骤面介绍FTP功实现处首先需建立ClnternetSesion象类ClnternetSesion创建初始化网络会话描述代理服务器连接果程序运行期间需保持网络连接创建ClnternetSesion象作CWinApp成员
    MFC中类CFtpConnection理网络服务器连接直接操作服务器目录文件FTPMFCWinInet支持三网络功里需创建ClnternetSession实例CFtpConnection象实现FTP服务器通信通调ClnternetSessionGetFtpConnection完成项工作创建CFtpConnection象返回指该象指针需次创建CFtpConnection象
    1.文件清单
    列文件目录清单果文件实现起较复杂利FTP技术实现起简单化通调关FTP技术相关函数实现操作文件操作:首先设置存储前目录系统目录数组创建两暂时存储系统目录时文件时数组连接套接字系统目录列表目录设置前目录然执行文件操作查找文件获文件性质查文件名文件名存储成文形式文件名时间格式发送客户端窗口
    2.读写文件容
    实现查文件容文件操作没利FTP服务器文件传输等功实现FTP技术直接Socket进行数传送果拷贝文件需接收数转化文件模块实现建立CFile象通象开读取等操作读文件容保存时数组里然通定义服务器反馈函数时数组里数发送客户端窗口函数原型:
    Int fgetc ( file *stream )
    Int getc ( file *stream )
    Int fputc ( int c file *stream )
    Int putc ( int c file *stream )文件中读字符文件中写字符
    Char *fgets ( char *string int n file *stream )
    Int fputs ( const char *string file *stream )文件字符串读写
    3.文件传输
    程序文件传输功利FTP技术果拷贝文件文件操作实现时预设数组暂时存储文件样会部分存空间浪费掉文件传输速度慢果网络条件容易文件传输中出现断掉毁坏文件情况查文件容方式实现项技术时显示文件传输元性FTP技术拷贝文件实传服务器端传输文件客户端实际受控端服务器端载文件函数原型:
    Char *strcpy ( char *strDestination const char *strSource )
    Char *strcnpy ( char *strDest const char *strSource size_t count )字符串拷贝
    4.信息获取修改
    般运程控制软件中控制端户通软件获服务器端计算机基信息例存信息户名等修改服务器端计算机系统配置获系统信息通系统
    API实现修改系统配置两种方式种直接修改系统配置文件包括wininisysteminisystemsys等文件种方式修改系统注册表函数原型:
    Int_ rename ( const char*oldname const char*newname )修改文件名
    Int_ unlink ( const char*filename )删文件原型头文件Stdiohioh中
    43 章结
    章介绍远程控制系统具体功功中屏幕控制功核心功时通鼠标键盘等输入设备实现功系统控制功设计文件理功中通调函数实现功时系统效率稳定性FTP等技术
     
     


    文香网httpwwwxiangdangnet

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 1 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于plc的智能交通灯控制系统设计毕业论文

    PLC可编程序控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。

    4年前   
    3124    0

    基于单片机的温度控制系统设计毕业论文

    职业学院毕业论文 题目:单片机温度控制系统研制 系 院:工程技术学院 学生姓名: 学 号: 专 业:机电一体化 ...

    5年前   
    5905    0

    基于单片机的自动门控制系统设计毕业论文

     职业技术学院 毕业设计(论文) 作 者: 学 号: 系 部: 电气工程系 班 级: ...

    5年前   
    1763    0

    基于PLC的温室控制系统的设计

    基于PLC的温室控制系统的设计摘 要随着人们生活水平的提高,由温室大棚种植的反季节蔬菜成为人们越来越离不开的食物,所以温室大棚技术越来越重要,而温度控制是最为重要的一环。考虑到PLC具有灵活...

    3年前   
    850    0

    基于PID的温度控制系统设计论文

     (20XX届) 毕业设计 题  目:   基于PID的温度控制系统设计  学  院:             专  业:     电气工程及其自动...

    5年前   
    2031    0

    通信系统课程设计基于MATLAB的FM通信系统设计

    XX大学课 程 设 计 报 告课程名称: 通信系统课程设计 设计名称: 基于MATLAB的FM通信系统设计 姓...

    3年前   
    730    0

    基于单片机的智能窗帘控制系统设计毕业论文

    基于单片机的智能窗帘控制系统设计 摘 要 在现代的社会中,人们对生活环境很重视,智能家居对人们的生活产生了极其重要的影响。本文将研究一种基于单片机的智能窗帘控制系统。在此设计系统中,以STC8...

    5年前   
    4418    0

    基于AT89C52智能吸尘器控制系统设计毕业论文

    摘要 本设计的智能吸尘器控制系统与智能小车的控制系统相似。是以AT89C52单片机为控制核心,加以步进电机、光电传感器、超声波传感器、压敏传感器和电源电路以及其他电路构成。

    4年前   
    1281    0

    基于凌阳单片机的红外通信接口设计

    科 研 训 练 报 告报告题目:基于凌阳单片机的红外通信接口设计姓 名 院(系) 电气与电子工程学院 ...

    2年前   
    404    0

    基于PLC灌装机控制系统毕业论文

    PLC控制是目前工业上最常用的自动化控制方法,由于其控制方便,能够承受恶劣的环境,因此,在工业上优于单片机的控制。PLC将传统的继电器控制技术、计算机技术和通信技术融为一体,专门为工业控制而...

    5年前   
    2260    0

    基于单片机的自动窗帘控制系统毕业论文

     题目 自动窗帘控制系统 年 月 日 摘 要 自动控制属于电子及信息科学的一个重要分支,并且在现代家居中有着较好的目前发展前景。目前,...

    5年前   
    2370    0

    基于单片机的空调温度控制系统设计毕业设计

     毕业设计  题 目 基于单片机的空调温度控制系统设计 学生姓名 学 号 学 院 计算机与信息工程系 专业班级 指导...

    5年前   
    2594    0

    基于Multisim的声光控路灯控制系统设计与仿真课程设计

    信息工程学院课程设计报告书题目: 基于Multisim的声光控路灯控制系统设计与仿真 课 程:电子线路课程设计 专 业:电气工程及其自动化班 级: ...

    2年前   
    377    0

    毕业设计(论文)基于PLC的停车场车位控制系统设计

    基于PLC的停车场车位控制 系统设计 系 别:机电与自动化学院 专 业 班:电气工程及其自动化xx班 姓 名: 学 号:20xx113xx 指导教师: 201x年6月 基于...

    5年前   
    3111    0

    基于PLC的造纸机控制系统设计毕业设计

    X职业技术学院毕 业 设 计 (论 文) 题目名称: 姓 名: ...

    4年前   
    1097    0

    基于PLC的组合机床电气控制系统设计毕业设计

    基于PLC的组合机床电气控制系统设计摘 要应用组合机床加工大批量零件,快捷高效,生产效率高是机械加工的发展方向。本次设计任务是制定三面铣组合机床用来对Z512W型台式钻床主轴箱的Ф80、Ф90...

    5个月前   
    207    0

    基于FPGA的电梯控制系统设计毕业设计论文

    毕 业 设 计 [论 文]题 目: 基于FPGA的电梯控制系统设计 学 院: 电气与信息工程学院 ...

    3年前   
    1286    0

    毕业设计论文基于PLC的停车场车位控制系统设计

    基于PLC的停车场车位控制系统设计系 别:机电与自动化学院专 业 班:电气工程及其自动化班姓 名: 学 号:指导教师: 2011年X月基于PLC的停车场车位控制系统设计Des...

    7个月前   
    307    0

    基于通信的系统的影响

    基于通信的系统的影响如上文所述,信息服务的趋势正朝着分散和分布式数据处理(DDP)方向发展。分散的信息服务工作并不意味着数据通信,但是多数是基于通信的。依照定义,所有分布式数据处理(DDP)系...

    12年前   
    736    0

    远程机械设计毕业论文

    远程机械设计毕业论文  1 机械设计发展概述  传统设计方法是主要采用封闭的收敛设计思维,进行经验类比设计。在计算方面只进行静态分析,并将载荷,应力进行集中处理,对计算数据的误差采用增加安全系...

    11年前   
    433    0