| | |
| | | var msg []byte |
| | | var responses StringSet |
| | | |
| | | err = d.sock.Send([]byte("are you ok?")) |
| | | err = d.sock.Send([]byte("")) |
| | | if err != nil { |
| | | log.Println("DiscoveryServer: Error sending the SURVEY", err.Error()) |
| | | return |
| | |
| | | for { |
| | | msg, err = d.sock.Recv() |
| | | if err != nil { |
| | | if err == mangos.ErrRecvTimeout {//在超时时间内收到的响应 |
| | | if err == mangos.ErrRecvTimeout { |
| | | // Timeout means I can add the current responses to the SET |
| | | fmt.Println("mangos.ErrRecvTimeout") |
| | | d.services.Add(responses) |
| | | return |
| | | } |
| | | //fmt.Println(" err: ",err.Error()) |
| | | //log.Println("DiscoveryServer: Error reading SURVEY responses", err.Error()) |
| | | } else { |
| | | fmt.Printf("poll received msg:%s \n",string(msg)) |
| | | responses.Add(string(msg)) |
| | | //break |
| | | } |
| | | } |
| | | fmt.Println("for out") |
| | | } |
| | | |
| | | func NewPublisher(ctx context.Context, url string) (*Publisher, error) { |
| | |
| | | |
| | | s.nodes = responses |
| | | // publish the changes |
| | | s.publisher.Publish(s.nodes.ToSlice()) |
| | | //s.publisher.Publish(s.nodes.ToSlice())//publish nodes changed |
| | | } |
| | | |
| | | func (d *DiscoveryServer) PublishMsg(msg string){ |