Terry-Mao / goim

goim
https://goim.io/
MIT License
7.21k stars 1.78k forks source link

使用curl -d "{\"test\":1}" http://127.0.0.1:7172/1/push?uid=0,只能使用uid=0,如果换成其他的数字,java sdk无法收到消息 #116

Closed eric-hon closed 8 years ago

eric-hon commented 8 years ago

使用curl -d "{\"test\":1}" http://127.0.0.1:7172/1/push?uid=0,只能使用uid=0,如果换成其他的数字,java sdk无法收到消息 为什么?

eric-hon commented 8 years ago

这个怎么解决?

liutaihua commented 8 years ago

这个描述上下文不足。 uid是logic里的Auth分配的,或者你自己实现其他auth方式。 如果你java连接上来的uid是未知的, 你发消息肯定是发不到它上面去的。

你可以把你的场景描述详细点

eric-hon commented 8 years ago

curl -d "{\"test\":1}" http://127.0.0.1:7172/1/push?uid=0,把uid改成其他数字,比如10,6108等等,发送消息。 然后在java sdk修改 PushClient cb = new PushClient(InetAddress.getByName("192.168.20.244"), 8080 , 6108, "game"); 运行, 无法接收消息

eric-hon commented 8 years ago

如果curl -d "{\"test\":1}" http://127.0.0.1:7172/1/push?uid=0,uid不做修改,保持为0,java sdk中的uid改成任何数字都可以接收消息

eric-hon commented 8 years ago

java sdk就是goim项目中提供的那个

eric-hon commented 8 years ago

能帮忙解决下为什么只有 uid=0,sdk才能接收消息?

liutaihua commented 8 years ago

你得看看 logic/auth.go里面的Auth方法, 如果你没改过的话。 如果你连接comet的时候,没提供对应的用于auth的body内容,那默认是uid总是0, 不知道你java里连comet的地方是怎么写的。

eric-hon commented 8 years ago

你那有连接的例子吗?发个看看,谢谢!

eric-hon commented 8 years ago

搞定了,呵呵,后面哥有时间就对该项目进行改善