Avatar
0
Tú Trần Anh Beginner
Tú Trần Anh Beginner
[Ezyfox Server] Unity game client không gửi được command khi build ra android
  • Như tiêu đề, em có thử build unity client ra android app. Em chạy thử bằng giả lập ld player, nhập tài khoản mật khẩu như bình thường và bấm login thì không có gì xảy ra hết. Em nghĩ nó không gửi được các command đến BE ezyfox server vì ở bên Server cũng không thấy có session nào gửi request đến hết.

  • Khi e build ra exe thì vẫn hoạt động bình thường.

  • Vậy có phải là do LD player k ạ nhỉ? A giúp em với.

Em cảm ơn ạ!

  • Answer
question
Remain: 5
2 Answers
Avatar
monkey Beginner
monkey Beginner
Em có thấy log của android print gì không em? Em đang dùng webview hay là native nhỉ?
  • 0
  • Reply
Avatar
Tú Trần Anh Beginner
  • Khi vừa run thì nó có lỗi này: Autoconnected Player Curl error 7: Failed to connect to cdp.cloud.unity3d.com port 443: Connection refused

Nhưng cái lỗi này em nghĩ k ảnh hưởng vì build exe cũng có nhưng vẫn chạy bình thường.

  • Còn đây là log lỗi bên ezyfox client print ra khi đăng nhập:

này để thực hiện chức năng thanh toán paypal bên gamescene.

  • 0
  • Reply
Nhìn lỗi này là do nó không kết nối được đến server em ạ, em đang chạy localhost hay là em đã deploy server lên cloud rồi? Client unity sử dụng csharp sdk sẽ gọi vào cổng 3005 nên em sẽ cần mở cổng 3005 trên firewall nếu em dùng cloud em ạ.  –  tvd12 1652081239000
em vẫn đang chạy localhost thôi a ơi. Build ra exe thì vẫn chạy bt a ạ  –  Tú Trần Anh 1652083028000
Nếu em đang dùng localhost thử thay localhost bằng 127.0.0.1, nếu em đang dùng 127.0.0.1 em thử thay bằng localhost xem sao. Ý anh là ở hàm connect ý em ạ.  –  tvd12 1652088577000
Nếu vẫn ko đc, em thử sử dụng IP LAN xem sao nhé, có thể android nó ko sử dụng đc ở dạng localhost  –  dungtv 1652089344000
Em đã thử đổi host trong SocketInitializer sang "localhost" và "192.168.1.12" nhưng đều k đc.

Khi đổi sang những cái kia thì build exe hay chạy trên editor đều được cả a ạ. Còn cứ build ra apk là chỉ gọi được mỗi restful còn tcp call đều bị refuse

Em cũng thử mở file apk bằng điện thoại cùng wifi thay vì giả lập nhưng vẫn thế.

 –  Tú Trần Anh 1652093567000
Em thử thay host bằng tvd12.com, port vẫn là 3305 xem có khác biệt gì không nhé.  –  monkey 1652119310000
em đã thử k được a ạ @@ test trên editor thì ok còn cứ build apk là lỗi. Em cũng thử thêm inbound rule mở cổng 3005 cũng k có gì khác biệt.

A có project unity nào đã build ra apk chưa cho em tham khảo với ạ.

 –  Tú Trần Anh 1652123045000
  1. Em thêm log logger.error("connect to server error: " + ex.Message + ", " + ex.GetType()); ở đoạn này: https://github.com/youngmonkeys/ezyfox-server-csharp-client/blob/master/socket/EzyTcpSocketClient.cs#L76 để xem lỗi thực tế là gì nhé, em cũng cần code 1 xíu để logger hoạt động trên unity nhé.

  1. Game này anh đã từng build ra android rồi em ạ: https://github.com/tvd12/space-shooter, đây là lớp socket của nó: https://github.com/tvd12/space-shooter/blob/master/unity/Assets/Done/Scripts/SocketClientProxy.cs
 –  monkey 1652127543000
Nó log ra lỗi như này a ạ:

Autoconnected Player com.tvd12.ezyfoxserver.client.socket.EzyTcpSocketClient - connect to server error: Connection refused, System.Net.Sockets.SocketException

Hay do giả lập a nhỉ. Game kia build ra a chạy thử bằng giả lập nào vậy ạ

 –  Tú Trần Anh 1652148415000
Anh build ra máy thật em ạ. Em đã setup quyền internet rồi nhỉ? https://stackoverflow.com/questions/37493936/android-internet-permission-in-unity  –  monkey 1652152393000