1、背景

       使用nodejs取得客户端电脑的mac地址作为唯一的标识,但如何使用getmac模块,

       本文结合网上资料和实践,总结如下;

2、需要的moduels

        getmac、extract-opts、typechecker;

       getmac取得mac地址;extract-opts是getmac的依赖;typechecker是extract-opts的依赖;

       moduels在 node官网的https://npmjs.org/中搜索,进入github下载;

3、将所需模块转换成javascript

      getmac 三个模块是用coffeescript写的;因为我不太熟悉coffeescript,在开发引入时总是报错;最后找到方法:将coffeescript写的模块转换成 javascript;

      转换步骤如下:

       a、安装nodejs:windows下直接下载安装包安装

       b、下载coffeescript软件包,直接解压;

       c、制作脚本coffee.cmd,方便转换;cmd内容如下:注意 a步骤的node.exe和b步骤中解压的coffee-script路径;

@echo off
"node.exe" "coffee-script/bin/coffee" %*

               d、转换:执行coffee.cmd,如下;注意参数 -c;执行后,会在同getmac.coffee同目录下生成 getmac.js;其它两个模块也照此方法转换;

coffee.cmd -c getmac.coffee

           4、将生成的javascript文件,放于node_modules下;参照 模块的官方文档,开始使用;

var mac;
var macObj = require('getmac');
macObj.getMac(function(err,macAddress){
if (err) throw err;
mac=macAddress;
});

5、本文的结构图

nodejs取得mac地址的更多相关文章

  1. Java获取本机的IP与MAC地址

    有些机器有许多虚拟的网卡,获取IP地址时会出现一些意外,所以需要一些验证: // 获取mac地址 public static String getMacAddress() { try { Enumer ...

  2. C#/VB.NET 获取电脑属性(硬盘ID、硬盘容量、Cpu序列号、MAC地址、系统类型)

    在开发过程中,经常需要获取电脑的一些属性,如获取硬盘ID/CPU序列号/MAC地址作为来加密字符串. 1.硬盘 在我查看网上一些文档时,发现很多人对硬盘序列号很模糊~ 什么叫硬盘序列号?指的是作为一个 ...

  3. (转载)详解网络传输中的三张表,MAC地址表、ARP缓存表以及路由表

    郑重声明:原文转载于http://dengqi.blog.51cto.com/5685776/1223132 向好文章致敬!!! 一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理 ...

  4. 手机电脑Mac地址修改方法

    1.什么是Mac地址? MAC(Media Access Control或者Medium Access Control)地址,意译为媒体访问控制,或称为物理地址.硬件地址,用来定义网络设备的位置.在O ...

  5. Web获取客户端物理MAC地址(ocx插件)

    主要是通过ActiveX控件 从本地获取到MAC地址,传入到浏览器打开的网页中,再提交到服务器. 具体详解与步骤看文档中: 文件实例包下载 DotNetFX 文件夹附件文件:(可能安装时需用) dot ...

  6. Mac地址

    Mac地址是每张网卡的唯一标识符,也叫物理地址.硬件地址或链路地址,由网络设备制造商生产时烧在网卡的ROM中,可以修改.现在的Mac地址一般都采用6字节48bit(还有2字节16bit的Mac地址,多 ...

  7. php获取网卡MAC地址源码

    <?php /** 获取网卡的MAC地址原码:目前支持WIN/LINUX系统 获取机器网卡的物理(MAC)地址 **/ class GetMacAddr{ var $return_array = ...

  8. 路由转发过程的IP及MAC地址变化

    A-----(B1-B2)-----(C1-C2)-------E就假设拓扑图是这个样子吧,B1和B2是路由器B上的两个接口,C1和C2是路由器C上的两个接口,A和E是PC,由主机A向主机E发送数据包 ...

  9. C#获得MAC地址(网卡序列号)代码

    代码如下: //获得网卡序列号 //MAc地址 http://www.cnblogs.com/sosoft/ public string GetMoAddress() { string MoAddre ...

随机推荐

  1. DEV控件之ChartControl用法

    一.总体概述 这个控件包含3层,最外面的chartControl层.中间的XYDiagram层.最里面的Series层.功能非常强大,但同时使用起来也相对复杂,需要各个层之间相互协调设置才能达到自己想 ...

  2. supersocket--SuperSocket 1.4系列文档(1) 第一个例子, EchoService

    First example, EchoService 1. 新建一个名叫 “EchoService” 的空白项目 2. 添加SuperSocket的Common和SocketBase这两个dll或者项 ...

  3. javascript 全选与反选

    <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    ...

  4. js 控制台的错误提示

    错误:程序运行过程中发生的异常状态 导致程序停止运行——异常 错误处理:当程序发生错误时,保证程序不退出的机制 发生错误时,程序会自动创建一个Error对象: Error对象中仅封装了错误的信息 js ...

  5. create mysql database

    CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  6. javascript 常用函数

    //获取元素的样式值. function getStyle(elem,name){ if(elem.style[name]){ return elem.style[name]; }else if(el ...

  7. js私有化属性

    我们先来看一个例子: var Demo1 = function(val){ this.value = val; this.getValue = function(){ return this.valu ...

  8. Yaf-Plus 我们只谈框架这件事

    预热下,也算对自己的督促. Comming soon!

  9. Qt for Linux:环境搭建(CentOS 6.5 32位)——完全从零安装

    正文开始前,我们假设,用户可以操作终端 拥有root权限,以下所有操作也均由root完成 可以上网 安装了CentOS 6.5 32位 注:红色部分,每个人可能都不一样 话不多说,列出本章大致流程 1 ...

  10. Mongodb 安装迁移

    <pre name="code" class="python">1.下载MongoDB(64位) http://fastdl.mongodb.org ...