func NewUser(p *Models) *User { u := new(User) c, err := redis.Dial("tcp", cfg.RedisAddr(), redis.DialReadTimeout(1*time.Second), redis.DialWriteTimeout(1*time.Second)) if err != nil { log.Error(err.Error()) return nil } u.c = c //select db s, err := c.Do("SELECT", cfg.RedisDBs[cfg.Pf]) if err != nil { log.Error(err.Error()) return nil } //temp fw.PrintType(s, "s") //fill keys b, _ := redis.Bool(c.Do("EXISTS", k_account_count)) // switch b.(type) { // case interface{}: // log..Debug("interface") // case []byte: // log..Debug("byte") // case string: // log..Debug("string") // case *int: // log..Debug("int") // default: // log..Debug("other") // } if b == false { c.Do("SET", k_account_count, 0) log.Info("fill key:", k_account_count) } //register model u.parent = p return u }
func TestServer1(t *testing.T) { once.Do(startServer1) // websocket.Dial() client, err := net.Dial("tcp", serverAddr) if err != nil { t.Fatal("dialing", err) } log.Info("t=%v", t) conn, err := websocket.NewClient(newConfig_("/agent"), client) if err != nil { t.Errorf("WebSocket handshake error: %v", err) return } for i := 0; i < 10; i++ { msg := []byte("hello, world") fw.PrintType(msg, "msg") msg = append(msg, byte(i)) // append(msg, []byte("\n")) if _, err := conn.Write(msg); err != nil { t.Errorf("Write: %v", err) } var actual_msg = make([]byte, 512) n, err := conn.Read(actual_msg) if err != nil { t.Errorf("Read: %v", err) } actual_msg = actual_msg[0:n] if !bytes.Equal(msg, actual_msg) { t.Logf("Test: send %q got %q", msg, actual_msg) } } conn.Close() }