谁知道怎么用c++实现c/s远程关机命令,需要在下面的代码中添加啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谁知道怎么用c++实现c/s远程关机命令,需要在下面的代码中添加啥相关的知识,希望对你有一定的参考价值。

服务器部分:
#include<winsock2.h>
#pragma comment(lib,"Wsock")
#include<stdio.h>
#define DEFAULT_PORT 7038
void mian()

int iport=DEFAULT_PORT;
WSADATA wsaData;
SOCKET slisten,
sAccept;
int ilisten;
int isend;
char buf[]="hellow!i am your student";
struct sockaddr_in ser,
cli;
printf("-------------------------\n");
printf(" Server waiting \n");
printf("-------------------------\n");
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
printf("faild to load winsock.\n);
return;

sListen=socket(AF_INET,SOCK_STREAM,0);
ifListen=INVALID_SOCKET)

printf("socket()Faild:%d\n"),
WSAGetLasError())
return;

ser.sin_family=AF_INET;
ser.sin_port=htons(iport);
ser.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(sListen,(LPSOCKADDR)&ser,sizeof(ser))
==SOCKET_ERROR)
printf("bind()Faild:%d\n),
WSAGetLastError());
return;
if(listen(slisten,5)==SOCKET-ERROR)

printf("listen()Faild:%d\n,WSAGetError());
return;

ilen=sizeof(cli);
while(l)

sAccept=accept(sListen,(struct sockaddr*)
&cli,&ilen);
if(sAccept==INVALID_SOCKET)

printf("accept()Faild:%d\n"),
WSAGetLasError())
break;

printf(Accepted clientIP:[%s],port:[%d]\n",
inet_ntoa(cli,sin_addr),ntohs(cli.sin_port));
iSend=send(sAccept,buf,sizeof(buf),0);
if(iSend==SOCKET_ERROR)

printf("send( ) Failed.:%d\n",
WSAGetLastError( ));
break;

else if(iSend==0)
break;
else

printf("send( ) byte:%d\n",iSend);
printf("-----------------------------\n");

closesocket(sAccept);

closesocket(sListen);
WSACleanup( );

方法1、使用API 进行关机 ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0); 不过这个API在XP以上系统执行的话是需要有权限的,可以搜索 VC提取 代码加入工程调用即可。

方法2、代码中加入 system("shutdown -s -t 0"); 本质是调用cmd执行批处理命令实现

方法3、趁对方不注意,悄悄拔掉他家电闸
参考技术A 远程关机,需要使用Net命令吧

以上是关于谁知道怎么用c++实现c/s远程关机命令,需要在下面的代码中添加啥的主要内容,如果未能解决你的问题,请参考以下文章

谁知道怎么用C语言编写万年历啊

谁知道怎么用ajax实现选择下拉框的时候动态从数据库读取数据吗

谁知道DOS的一些基本的命令啊写给我可以吗?

网站打开速度很慢,去远程桌面上重启phpstudy后网站打开速度很快,一会又变得很慢,请问谁知道啥原因

为啥局域网远程关机无法实现?

linux/debian到底怎么重启和关机