Closed prife closed 1 year ago
relay测试代码(未对conn和client conn进行close):
func tcp_to_unix(tcp, unix string) error {
if fileInfo, _ := os.Stat(ios.DefaultUsbmuxdSocket); fileInfo != nil {
bak := fmt.Sprintf("%v.bak", ios.DefaultUsbmuxdSocket)
err := os.Rename(ios.DefaultUsbmuxdSocket, bak)
if err != nil {
return err
}
}
listener, err := net.Listen("unix", unix)
if err != nil {
return fmt.Errorf("usbmuxd: fail to listen on: %v, error:%v", unix, err)
}
os.Chmod(unix, 0777)
log.Debugln("listen on: ")
for {
conn, err := listener.Accept()
if err != nil {
return fmt.Errorf("usbmuxd: fail to listen accept: %v", err)
}
log.Infof("get conn:%v", conn.RemoteAddr().String())
client, err := net.Dial("tcp", tcp)
go func() {
io.Copy(client, conn)
}()
go func() {
io.Copy(conn, client)
}()
}
}
现象: tidevice reboot 虽然返回success但是不生效(这个是已知现象),但是只要把relay ctrl+c 杀掉 手机就会立马重启,即使隔1分钟杀relay也是会重启