add reconnect to websocket, add get world json object
This commit is contained in:
@@ -30,9 +30,10 @@ func (channels *ExchangeChannels) Close() {
|
||||
}
|
||||
|
||||
type ReadChannels struct {
|
||||
done chan struct{}
|
||||
msg chan *WsMessage
|
||||
err chan error
|
||||
done chan struct{}
|
||||
reconnect chan struct{}
|
||||
msg chan *WsMessage
|
||||
err chan error
|
||||
}
|
||||
|
||||
func (channels ReadChannels) Err() chan error {
|
||||
@@ -47,6 +48,10 @@ func (channels ReadChannels) Done() chan struct{} {
|
||||
return channels.done
|
||||
}
|
||||
|
||||
func (channels ReadChannels) Reconnect() chan struct{} {
|
||||
return channels.reconnect
|
||||
}
|
||||
|
||||
func CloseChannel[V any](channel chan V) {
|
||||
select {
|
||||
case _, ok := <-channel:
|
||||
@@ -62,12 +67,14 @@ func (channels *ReadChannels) Close() {
|
||||
CloseChannel(channels.done)
|
||||
CloseChannel(channels.err)
|
||||
CloseChannel(channels.msg)
|
||||
CloseChannel(channels.reconnect)
|
||||
}
|
||||
|
||||
func InitWsChannels() *ReadChannels {
|
||||
return &ReadChannels{
|
||||
done: make(chan struct{}),
|
||||
err: make(chan error, 10),
|
||||
msg: make(chan *WsMessage, 10),
|
||||
done: make(chan struct{}),
|
||||
err: make(chan error, 10),
|
||||
msg: make(chan *WsMessage, 10),
|
||||
reconnect: make(chan struct{}),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,3 +81,7 @@ func ParseWsRespMessage(msg string, requestCodes []string) (*WsMessage, error) {
|
||||
func NewWsMessageByPage(page string, currWsId int) *WsMessage {
|
||||
return &WsMessage{Code: CodesRespToReq[RespServerChangeCode], Id: currWsId, MsgJson: fmt.Sprintf("[\"%s\"]", requests.WsTypeData[page])}
|
||||
}
|
||||
|
||||
func NewWsMessage(msg string, currWsId int) *WsMessage {
|
||||
return &WsMessage{Code: CodesRespToReq[RespServerChangeCode], Id: currWsId, MsgJson: fmt.Sprintf("[\"%s\"]", msg)}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user