1. uuid

    uuid是Universally Unique Identifier的缩写,即通用唯一识别码。

    uuid的目的是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与其它人冲突的 uuid。

    A universally unique identifier (UUID) is a 128-bit number used to identify information in computer systems.

    c++中生成uuid:

    1. #include <windows.h>
    2. #include <iostream>
    3. using namespace std;
    4. int main()
    5. {
    6. UUID uuid;
    7. UuidCreate(&uuid);
    8. char *str;
    9. RpcStringFreeA((RPC_CSTR*)&str);
    10. return 0;
    11. }

    go生成uuid:

    目前,golang中的uuid还没有纳入标准库,我们使用github上的开源库:

    1. package main
    2. import (
    3. "fmt"
    4. uuid "github.com/satori/go.uuid"
    5. )
    6. // 创建
    7. u1, _ := uuid.NewV4()
    8. fmt.Printf("UUIDv4: %s\n", u1)
    9. // 解析
    10. u2, err := uuid.FromString("f5394eef-e576-4709-9e4b-a7c231bd34a4")
    11. if err != nil {
    12. fmt.Printf("Something gone wrong: %s", err)
    13. return
    14. }
    15. fmt.Printf("Successfully parsed: %s", u2)

    uuid在websocket中使用

    这里就是一个简单的使用而已,在websocket中为每一个连接的客户端分配一个uuid。

    golang中可以使用github.com/gorilla/websocket为我们提供的websocket开发包。

    使用: