消除一个线程引起的bug

Signed-off-by: dmy@lab <dmy@lab.com>
This commit is contained in:
dmy@lab
2015-10-18 17:44:56 +08:00
parent 3be197ebba
commit b97df11243
5 changed files with 64 additions and 36 deletions

View File

@@ -23,18 +23,23 @@ func NewCipher(cipherName string) (cipher Cipher) {
return NewAES()
}
if cipherName == "XOR" {
return NewXOR([]byte("fasdfasdf"))
return NewXOR([]byte("fasdfasdf!3297!jfsl12*&!HHHFds"))
}
return nil //TODO:临时这样处理
}
func SendData(carrier *Carrier, nByte int) (n int, err error) {
if carrier.Cipher == nil {
n, err = carrier.Conn.Write(carrier.Cache[:nByte])
return
}
encrypedByte, err := carrier.Cipher.Encrypt(carrier.Cache[:nByte])
if err != nil {
n = 0
return
}
n, err = carrier.Conn.Write(encrypedByte[:nByte])
copy(carrier.Cache, encrypedByte[:nByte]) // in case of debugging
return
}
@@ -44,6 +49,9 @@ func ReceiveData(carrier *Carrier) (n int, err error) {
n = 0
return
}
if carrier.Cipher == nil {
return
}
decrypted, err := carrier.Cipher.Decrypt(carrier.Cache[:n])
copy(carrier.Cache, decrypted[:n])
if err != nil {