在做服务器端的系统操作日志功能,希望可以知道
进行操作的客户端的IP和计算机名,请教如何实现?

解决方案 »

  1.   

    用一个winsock控件
    localIP属性就可以获取IP地址
    localhostname就可以获取计算机名
      

  2.   

    直接让客户端读取,然后送给服务端就得了
    用API吧
    不要用控件
    网上有现成的代码
    不光是ip
    mac啦
    硬盘卷标啦
    cpu的ID啦,都可以获取啊
      

  3.   

    QQ576006(Ken) 的方法我试过我这里的环境是公司局域网通过服务器代理上网
    用winsock的话,获得的是192.168.*.*的IP
    而我希望系统操作日志记录的IP是客户端真实上网的IP,如:218.*.*.*
    有什么好办法么?
      

  4.   

    现在好像很多论坛有一个功能就是
    可以显示IE端的IP地址,操作系统版本,浏览器版本
    不知道这个是怎么实现的?
      

  5.   

    那你们公司在公网上就要有一个固定ip做服务器,连接他就能获得公网ip
      

  6.   

    用网页提交的方法直接可以发送公网IP到服务器,但是用客户端内网程序获取网关的公网IP地址好像比较困难,特别是加了防火墙的情况。关注中,因为我也正好编到日志这一块儿了。不过获取服务器获取客户端的公网IP意义不大,特别是ADSL动态IP的客户端。相反机器名,硬盘序列号等等更能表达唯一客户。
      

  7.   

    to ChenChen88(虾子脑壳) 现在的情况是这样,我们这个系统的客户端要安装在各个市,他们都公用一个数据库服务器
    如果不能获得公网IP,就不能知道日志里的访问记录是那个市的用户访问
    因为A市和B市的内网IP可能都是192.168.*.*即使是ADSL的动态IP,因为可以查到这个IP的所属地,再结合计算机名,就可以
    确定日志内访问者是谁了