【小马待修改】客户机远程打开服务器上的光驱

客户端:

 1 #include<stdio.h>
 2 #include<winsock2.h>
 3 #pragma comment (lib,"ws2_32")
 4 int main(int argc,char *argv[])
 5 {
 6
 7     WSADATA wsaData;
 8     WSAStartup(MAKEWORD(2,2),&wsaData);
 9
10     SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);//申请套接字
11
12     sockaddr_in sockaddr; //申请地址结构,并补充相关信息
13     sockaddr.sin_family=PF_INET;
14     sockaddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");  //该IP用于本地测试用的,运行时请删除注释
15     sockaddr.sin_port=htons(827);   //随机选择了个端口
16
17     connect(s,(SOCKADDR*)&sockaddr,sizeof(SOCKADDR));//连接到服务器
18     while(1){
19         char Buff[MAXBYTE]={0};
20         char Cmd[MAXBYTE]={0};
21         recv(s,Cmd,MAXBYTE,0);
22         printf("%s",Buff);
23         scanf("%s",Cmd);
24         send(s,Cmd,MAXBYTE,0);
25         if(!strcmp(Cmd,"exit")){
26             printf("Login out!\r\n");
27             break;
28         }
29         memset(Buff,0,MAXBYTE);
30         recv(s,Buff,MAXBYTE,0);
31         printf("%s\r\n",Buff);
32
33     }
34
35     closesocket(s);
36     getchar();
37     WSACleanup();
38     return 0;
39
40 }

服务器端:

 1 #include<winsock2.h>
 2 #include <mmsystem.h>
 3 #pragma comment (lib,"ws2_32")
 4 #pragma comment (lib,"Winmm")
 5
 6 BOOL Dispatch(SOCKET sock,char *Cmd)
 7 {
 8     BOOL bRet=FALSE;
 9     if(!strcmp(Cmd,"help")){
10         send(sock,"client:hehe\r\n",strlen("hehe\r\n")+sizeof(char),0);
11         bRet=TRUE;
12     }else if(!strcmp(Cmd,"open")){
13         mciSendString("set cdaudio door open",NULL,NULL,NULL);
14         send(sock,"client:open\r\n",strlen("client:open\r\n")+sizeof(char),0);
15         bRet=TRUE;
16     }
17     return bRet;
18 }
19 int main(int argc,char *argv[])
20 {
21     WSADATA wsaData;
22     WSAStartup(MAKEWORD(2,2),&wsaData);
23
24     SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
25
26     sockaddr_in sockaddr;
27     sockaddr.sin_family=PF_INET;
28     sockaddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
29     sockaddr.sin_port=htons(827);
30
31     bind(s,(SOCKADDR*)&sockaddr,sizeof(SOCKADDR));//套接字与地址结构进行绑定
32     listen(s,1);//监听连接的最大数量
33     SOCKADDR clientAddr;
34     int nSize=sizeof(SOCKADDR);
35     SOCKET clientSock;//接受客户端的连接的套接字
36     clientSock=accept(s,(SOCKADDR*)&clientAddr,&nSize);//阻塞,等待用户连接
37
38     //end(clientSock,"hello client \r\n",strlen("hello client \r\n")+sizeof(char),NULL);
39
40     while(1){
41         send(clientSock,"shell>",strlen("shell>")+sizeof(char),0);
42         char buff[MAXBYTE]={0};
43         recv(clientSock,buff,MAXBYTE,0);
44         if(!strcmp(buff,"exit")){break;}
45         BOOL bRet=Dispatch(clientSock,buff);
46         if(bRet==FALSE)
47         {
48             send(clientSock,"Command Unsuccessfully!",strlen("Command Unsuccessfully!")+sizeof(char),0);
49         }
50     }
51
52
53     closesocket(clientSock);
54     closesocket(s);
55
56     WSACleanup();
57     return 0;
58 }
时间: 2024-10-21 13:42:38

【小马待修改】客户机远程打开服务器上的光驱的相关文章

客户机远程登录服务器

实验客户机远程登录服务器 实验目标:实现客户机远程登录服务器 实验环境: 实验步骤: 一.配置服务器的IP地址为192.168.1.2,win7客户机的IP地址为192.168.1.1 二.关闭服务器和客户机的防火墙 三.将客户机和服务器设置为同一vmnet2 四.打开服务器开始|选择服务管理器 五.选择服务器下面的功能--添加功能 六.选择Telnet服务器|下一步|安装 七.在服务器开始菜单中选择|计算机管理|服务 八.将Telnet服务器的属性选为手动,然后启动 九.打开win7客户机,在

批量启用Windows客户机远程桌面

远程桌面是微软操作系统自带的远程管理工具,它可以让IT管理员在自己的电脑上远程操作,相当于将对方的键盘和鼠标延伸到了自己的机器上,管理效率大大提高. 远程桌面服务使用RDP协议,对应TCP 3389端口.默认情况下,客户机"远程桌面"是关闭的.因此我们需要手动开启. 首先我们查看一下远程桌面的默认设置,右击"这台电脑"属性 点击左侧"远程设置" 可以看到默认是关闭的.如果要开启的话,直接点"允许远程连接到此计算机",确定即可.

客户机远程配置交换机

实验用客户机远程配置交换机 实验目标:用客户机远程配置交换机 实验环境: 实验步骤: 一.在交换机Switch0创建vlan1,配置IP地址,开启端口,设置远程客户端登陆数和登陆密码,并设置交换机配置密码 二.在客户机PC 0上ping交换机,远程登录switch0 三.在route0路由上开启端口f0/0,绑定ip开启端口,并设置远程登录用户数和密码 四.用PC 0远程登录 五.在路由器上开启端口f0/1,配置IP 六.用PC1远程登录路由器 七.在交换机Switch1创建vlan1,配置IP

Linux客户机访问FTP服务器常见的问题及解决办法

在Linux系统中,搭建一个服务,就是修改其配置文件,一般情况下,配置文件的修改出现问题的概率不大,多半是一些其他因素导致客户机与服务器之间访问出现问题,下面就针对客户机访问FTP服务器常出现的一些问题找出解决办法.其他服务的解决办法也类似.1.客户机无法访问FTP服务器如果说客户机无法访问FTP服务器多半是防火墙的作怪,iptables 防火墙管理工具默认禁止了 FTP 传输协议的端口号,因此在正式配置 vsftpd 服务程序之前,为了避免这些默认的防火墙策略"捣乱",还需要清空 i

打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 &lt;serviceDebug&gt; 配置行为)以便将异常信息发送回

在调试wcf程序的时候,有时会遇到下面的错误: System.ServiceModel.FaultException: 由于内部错误,服务器无法处理该请求.有关该错误的详细信息,请打开服务器上的 IncludeExceptionDetailInFaults (从 ServiceBehaviorAttribute 或从 <serviceDebug> 配置行为)以便将异常信息发送回客户端,或在打开每个 Microsoft .NET Framework 3.0 SDK 文档的跟踪的同时检查服务器跟踪

Java访问远程http服务器上数据的简便方法

Java开发项目中,有时会访问远程http服务器上的数据,数据可能是xml格式或者json格式等.这里我们通过例子来看一下两种实现方式的对比. 本例子中有一个servlet,对外提供json格式的雇员信息查询.Servlet访问数据库的员工表,保存了员工的信息,如下: EID   NAME       SURNAME        GENDER  STATE        BIRTHDAY        HIREDATE         DEPT         SALARY 1       R

Linux下不借助工具实现远程linux服务器上传下载文件

# Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## 登录服务器 - `ssh [email protected]` 登录服务器```PC:~$ ssh [email protected][email protected]'s password: ``` ## 文件传输 - 下载文件- `scp [email protected]:/data/log

因客户机IP与服务器IP不在同一网段导致无盘客户机开机卡tftp,提示:PXE-E11: ARP timeout

61的地址需要在上面的地址范围段之内 问题现象] 无盘客户机启动获取DHCP后卡在tftp界面提示:PXE-E11: ARP timeout,如下图: [原因说明] 客户机的IP地址与服务器IP地址不在同一个网段. [解决方案] 修正为一致的IP段. [问题分析] 根据现象界面显示服务器IP地址:192.168.30.1,子网掩码:255.255.255.0,客户机IP地址:192.168.40.100,子网掩码:255.255.255.0,网关:192.168.40.1;由此信息可以判断客户机

eclipse远程debug服务器上的项目(Tomcat),打开、关闭及常见错误汇总

我们工作中,有时候测试/生产环境,出现的结果会与我们预计的不一样,只看代码又看不出去问题所在,这个时候就需要远程debug下服务器上的项目. 注意:(1)需要debug的代码,本机代码需与服务器上一致.(2)保证服务器下开了允许远程debug的端口 一.打开远程debug 1.右击要debug的项目,Run As ->Debug Configurations,找到Remove Java Application,如下: 填下远程主机IP和端口 备注:如何找预留的debug端口:一般而言,找到对应项