如何判断网络中某计算机是否已经开机?

qiangorqiang 2004-08-11 03:06:20
我在写的一个数据库远程备份工具中,需要不断检测局域网中某计算机是否已经开机,以便将备份文件复制到该计算机共享目录中。请问各位采用什么方法可以实现上述功能。
...全文
186 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2004-08-12
  • 打赏
  • 举报
回复
ping.
bohut 2004-08-12
  • 打赏
  • 举报
回复
CString HostName,UserName,Password;//主机名(ip地址),用户名,密码
// 建立IPC连接
HostName.Insert(0,"\\\\");
HostName += "\\IPC$";
NETRESOURCE param1;
param1.dwType = RESOURCETYPE_ANY;
param1.lpLocalName = NULL;
param1.lpRemoteName = (LPTSTR)(LPCTSTR)HostName;
param1.lpProvider = NULL;
DWORD ret = WNetAddConnection2(¶m1,(LPCTSTR)Password,(LPCTSTR)UserName,CONNECT_UPDATE_PROFILE);
if(ret)
...
else
...
qiangorqiang 2004-08-12
  • 打赏
  • 举报
回复
如果要使用共享目录的话, 建议直接用tcp connect 139端口。
--------------------------------------------------------
请问具体步骤是什么?
adamx 2004-08-12
  • 打赏
  • 举报
回复
如果要使用共享目录的话, 建议直接用tcp connect 139端口。
pclili 2004-08-12
  • 打赏
  • 举报
回复
在自己的程序里实现ping程序。
自由的风 2004-08-11
  • 打赏
  • 举报
回复
#include <process.h>

system( "ping xxx.xxx.xxx.xxx" );

就可以了
jinxuliang 2004-08-11
  • 打赏
  • 举报
回复
如果有共享目录,可以用个很简单的办法
BOOL PathIsDirectory(
LPCTSTR pszPath
);

如:192.168.60.10的c:\kk为共享目录.你可以这样写
int flag= PathIsDirectory(_T("\\\\192.168.60.10\\c\\kk"));
if flag==ture
{
TRACE(_T("远程计算机目录可用"))
}
else
{
TRACE(_T("远程计算机目录不可用"))

}
///////////////////////////////////////////
我在我的程序里就这样处理的.很方便.绝对能行,严格测试过.

shootingstars(有容乃大,无欲则刚) 的办法就相对麻烦得多了.


shootingstars 2004-08-11
  • 打赏
  • 举报
回复
发送icmp包。
可以自己使用原始socket构造,也可以直接调用系统的ping命令。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧