在我第一次寫入套接字後,APNS關閉連接!第一個通知發送完全正常,但第二個通知由於EOF而失敗。APNS在首次寫入後關閉連接
我附上了一小段我的代碼發送通知。讓我知道如果我應該包括更多。謝謝您的幫助!
func (notificationService *NotificationService) Send(deviceToken []byte, payload *Payload, expiration time.Time, priority int) (uint32, error) {
apnsBinary, err := createApnsBinary(deviceToken, payload, notificationIdentifier, expiration, priority)
if err != nil {
return 0, err
}
_, err = notificationService.connection.Write(apnsBinary)
if err != nil {
return 0, err
}
responseBytes := make([]byte, 6, 6)
bytesRead, err := notificationService.connection.Read(responseBytes)
if err != nil && err != io.EOF {
return 0, err
} else if bytesRead > 0 {
errorResponseInHex := hex.EncodeToString(responseBytes[:bytesRead])
return 0, fmt.Errorf("Received bad response %s", errorResponseInHex)
}
if err == io.EOF {
fmt.Println("BOO NOT AGAIN!!")
}
return notificationIdentifier, nil
}
確定第一條(或第二條)消息格式正確嗎?如果不是,接收器可能會關閉連接 - – nos
這是我第一次懷疑,但是這些消息的排列似乎沒有什麼區別:/ – user1161657
我把它拿回來!第一條消息導致EOF!然而,它仍然在交付?... – user1161657