diff --git a/business/partner/purchase/im/im_model.go b/business/partner/purchase/im/im_model.go index f7dc7b9de..a25892efe 100644 --- a/business/partner/purchase/im/im_model.go +++ b/business/partner/purchase/im/im_model.go @@ -6,6 +6,7 @@ import ( "fmt" "io" "log" + r "math/rand" "net" "net/http/httptest" "sync" @@ -284,3 +285,13 @@ func GenFullUrl() (fullUrl string) { //fmt.Printf("Create websocket connect failCount:%d", retVal.UserCount) return fullUrl } + +//生成随机字符串 +func RandString() string { + bytes := make([]byte, 16) + for i := 0; i < 16; i++ { + b := r.Intn(26) + 65 + bytes[i] = byte(b) + } + return string(bytes) +} diff --git a/business/partner/purchase/im/im_server.go b/business/partner/purchase/im/im_server.go index 64475c44b..58f9e7177 100644 --- a/business/partner/purchase/im/im_server.go +++ b/business/partner/purchase/im/im_server.go @@ -48,8 +48,12 @@ func Run(w http.ResponseWriter, r *http.Request) { //设置读取消息大小上线 conn.SetReadLimit(maxMessageSize) - //clientID := r.FormValue("clientId") - clientID := r.Header.Get("Clientid") + clientID := "" + if temp := r.Header.Get("Clientid"); len(temp) == 0 { + clientID = RandString() + } else { + clientID = temp + } globals.SugarLogger.Debugf("Run clientID=%s", clientID) clientSocket := NewClient(clientID, conn)