dialer.go 548 B

1234567891011121314151617181920212223242526
  1. package kcp
  2. import (
  3. v2net "github.com/v2ray/v2ray-core/common/net"
  4. "github.com/v2ray/v2ray-core/transport/internet"
  5. "github.com/xtaci/kcp-go"
  6. )
  7. func DialKCP(src v2net.Address, dest v2net.Destination) (internet.Connection, error) {
  8. cpip, _ := kcp.NewNoneBlockCrypt(nil)
  9. kcv, err := kcp.DialWithOptions(effectiveConfig.Fec, dest.NetAddr(), cpip)
  10. if err != nil {
  11. return nil, err
  12. }
  13. kcvn := &KCPVconn{hc: kcv}
  14. err = kcvn.ApplyConf()
  15. if err != nil {
  16. return nil, err
  17. }
  18. return kcvn, nil
  19. }
  20. func init() {
  21. internet.KCPDialer = DialKCP
  22. }